当前位置: 首页 > 知识库问答 >
问题:

Android::同一活动中的多个按钮

刘曾琪
2023-03-14

这是我的问题:

我想在一个活动中实现两个按钮。一个是计算BMI,另一个是检查时间。我希望用户能在同一个活动中看到两个按钮,这也取决于他们想做什么。(这些功能不是同时工作的,而是分开的。另外,我在这两个活动中都实现了返回主页的按钮。)

在Android模拟器中,消息来自“应用程序继续停止”。

以下是主要活动。java文件:

 
 import android.content.Intent;
 import android.os.Bundle;
 import android.view.View;
 import android.widget.Button;
 
 import androidx.appcompat.app.AppCompatActivity;
 
 public class MainActivity extends AppCompatActivity {
 
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
 
 
         // bt1 = to BMI  btn = TO DateCheck
         Button bt1 = findViewById(R.id.button1);
         Button btn = findViewById(R.id.button);
 
 
 
         bt1.setOnClickListener(v -> {
             // 指定要呼叫的 Activity Class
             Intent newAct = new Intent();
             newAct.setClass(MainActivity.this, BMI.class);
             // 呼叫新的 Activity Class
             startActivity(newAct);
 
 
         });
 
         btn.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 Intent newAct2 = new Intent();
                 newAct2.setClass(MainActivity.this,Time_Date.class);
                 startActivity(newAct2);
 
 
             }
         });
 
 
 
 
 
 
 
     }
 
 
 }
Following is the **Manifest.xml file**:
   
        
    
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.myapplication">
    
        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/Theme.MyApplication">
    
    
    
            <activity android:name=".MainActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
    
            <activity android:name=".Time_Date"/>
            <activity android:name=".BMI" />
    
        </application>
    
    </manifest>
Following is **activity_main.xml**:
    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity"
        android:background="#87CEEA">
    
    
        <!-- to BMI -->
        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
    
    
            android:layout_alignParentTop="true"
            android:layout_alignParentEnd="true"
            android:layout_marginStart="100dp"
    
            android:layout_marginLeft="100dp"
            android:layout_marginTop="50dp"
            android:layout_marginEnd="100dp"
            android:layout_marginRight="100dp"
    
            android:backgroundTint="@color/pink"
            android:text="@string/to_bmi"
            android:textAlignment="center"
            android:textColor="@color/purple_500"
            android:textStyle="bold"
            android:textSize="16sp"/>
    
        <!--to DateCheck-->
    
    
        <Button
            android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/button1"
            android:layout_alignParentStart="true"
            android:layout_alignParentEnd="true"
    
            android:layout_marginStart="100dp"
            android:layout_marginTop="30dp"
            android:layout_marginEnd="100dp"
    
            android:text="@string/view_datetime"
            android:textStyle="bold"
            android:textSize="16sp"
            android:textColor="@color/purple_500"
            android:backgroundTint="@color/pink"
    
    
    
            />
    </RelativeLayout>

谢谢!

这些消息是我按下导致应用程序停止的按钮后的stacktrace:



com.google.android.apps.gsa.shared.speech.b.g: Error reading from input stream
        at com.google.android.apps.gsa.staticplugins.recognizer.j.a.a(SourceFile:28)
        at com.google.android.apps.gsa.staticplugins.recognizer.j.b.run(SourceFile:15)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at com.google.android.apps.gsa.shared.util.concurrent.a.ag.run(Unknown Source:4)
        at com.google.android.apps.gsa.shared.util.concurrent.a.bo.run(SourceFile:4)
        at com.google.android.apps.gsa.shared.util.concurrent.a.bo.run(SourceFile:4)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at java.lang.Thread.run(Thread.java:764)
        at com.google.android.apps.gsa.shared.util.concurrent.a.ak.run(SourceFile:6)
     Caused by: com.google.android.apps.gsa.shared.exception.GsaIOException: Error code: 393238 | Buffer overflow, no available space.
        at com.google.android.apps.gsa.speech.audio.Tee.f(SourceFile:103)
        at com.google.android.apps.gsa.speech.audio.au.read(SourceFile:2)
        at java.io.InputStream.read(InputStream.java:101)
        at com.google.android.apps.gsa.speech.audio.ao.run(SourceFile:18)
        at com.google.android.apps.gsa.speech.audio.an.run(SourceFile:2)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457) 
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457) 
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
        at com.google.android.apps.gsa.shared.util.concurrent.a.ag.run(Unknown Source:4) 
        at com.google.android.apps.gsa.shared.util.concurrent.a.bo.run(SourceFile:4) 
        at com.google.android.apps.gsa.shared.util.concurrent.a.bo.run(SourceFile:4) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 
        at java.lang.Thread.run(Thread.java:764) 
        at com.google.android.apps.gsa.shared.util.concurrent.a.ak.run(SourceFile:6) 

暂时还没有答案

 类似资料:
  • 问题内容: 我有两个自定义的内置加载程序,我想在活动中使用这些加载程序。它们每个都返回不同类型的结果。要将我的活动用于回调,我必须实现两个接口: 但是,尝试在同一类中实现所需的方法,我最终遇到重复的方法错误和erasure(???)错误: 显然,这些方法存在冲突,我需要一种简单的方法来解决此问题。解决这个问题的正确方法是什么? 问题答案: 正确答案是根据@dymmeh的注释,即,不是为了实现两个接

  • 问题内容: 我的Android应用有很多按钮。 我的main.xml布局具有三个按钮。 我知道如何使用按钮从一个活动转到另一个活动,但是我不知道如何在一个活动上具有多个按钮,每个按钮启动的活动与另一个活动不同。 例 Main.xml Button1 Button2 Main2.xml 由button1启动 About.xml 由Button2启动 我如何使main.java文件做到这一点? 问题答

  • 我想知道是否可以在活动中创建一个按钮以向下滚动视图跳转到相应的信息。有点像: 因此,通过选择按钮1将您带到第1段的开头,依此类推。通过这种方式,用户不必向下滚动即可找到相关的段落/信息或启动新活动。(类似于一些网页,其中有很多信息,并在页面顶部带有标题,以将您带到同一页面上的相关信息。 好吧,这是我迄今为止尝试过的: 然后我得到这个错误: 有没有我可以跟着学的教程?< br >有什么建议吗? 编辑

  • 我有一个疑问,想澄清一些关于包含多个片段的活动的观点。 我有10个片段与一个活动(HomeActivity.java)相连;此活动包含一个导航抽屉和工具栏,带有多个图标,如搜索、添加、删除、后退按钮等。 我遵循的结构如下:, 用户点击抽屉菜单中的任何项目,我正在加载片段, 碎片加载- 我正在根据HomeActivity本身中的片段更改标题名称,基于工具栏。 我的导航抽屉项目只有一个片段,在frag

  • 问题内容: 我有两个按钮,每按一次将值递增和递减一个,它们与onClickListener配合得很好。我看到存在onLongClickListener,我认为这是用于触摸和保持事件。如果按住按钮,数字将如何快速递增/递减? 我假设onLongClickListener每次长按仅触发一次是正确的吗?我不知道的地方是否有更合适的监听器或属性? 问题答案: 您可以按照以下代码实现它。

  • 我读过很多关于这方面的文章,但也有2012年或更早的文章。 (我只是打算从数据库中读取和插入一些数据。)