Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使多个按钮打开不同的活动_Android - Fatal编程技术网

Android 如何使多个按钮打开不同的活动

Android 如何使多个按钮打开不同的活动,android,Android,我遵循在线指南,能够让一个按钮打开另一个活动。但是,当我在下面的链接中尝试编写多个按钮以打开每个按钮的不同活动时,我遇到了问题。到目前为止,我的代码如下,我不知道为什么会出错 package com.example.poweruser.fcemsandroid; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import

我遵循在线指南,能够让一个按钮打开另一个活动。但是,当我在下面的链接中尝试编写多个按钮以打开每个按钮的不同活动时,我遇到了问题。到目前为止,我的代码如下,我不知道为什么会出错

    package com.example.poweruser.fcemsandroid;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Display;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class HomeScreen extends AppCompatActivity {
    public static final String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home_screen);
    Button b1 = (Button) findViewById(R.id.protocolbutton);
    Button b2 = (Button) findViewById(R.id.asabutton);

    b2.setOnClickListener(new View.OnClickListener () {

        public void onclick(View view) {
            Intent aspirin = new Intent(this, aspirin.class);
            startActivity(aspirin);
        }
    });

有一个打字错误检查一下

它的
onClick(视图视图)
不是
onClick(视图)

用这个

b2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent aspirin2 = new Intent(HomeScreen.this, aspirin.class);
            startActivity(aspirin2);
            }
        });
而不是这个

b2.setOnClickListener(new View.OnClickListener () {

    public void onclick(View view) {
        Intent aspirin = new Intent(this, aspirin.class);
        startActivity(aspirin);
    }
});
问题可能是OnClickListener的抽象方法是

onClick()

不是没有大写字母“C”

onclick()

错误1

您应该重写
onClick()
,而不是
onClick()

错误2

使用
主屏幕。声明意图时使用此
而不是

b2.setOnClickListener(new View.OnClickListener () {

public void onClick(View view) {
    Intent aspirin2 = new Intent(HomeScreen.this, aspirin.class);
    startActivity(aspirin2);
}});

什么是错误..?阿司匹林活动,在清单中定义?是的。错误是:1)错误:(21,59)错误:不是抽象的,并且不会覆盖OnClickListener中的抽象方法onClick(View)和2***”错误:(24,34)错误:找不到适用于Intent(,Class)构造函数Intent的合适构造函数。Intent(String,Uri)不适用(参数不匹配;无法转换为String)构造函数Intent.Intent(上下文,类)不适用(参数不匹配;无法转换为Cont@beans217分享你的整个活动code@beans217尝试此
Intent aspirin=new Intent(HomeScreen.this,aspirin.class);
“错误:(21,59)错误:不是抽象的,并且不会覆盖OnClickListener中的抽象方法onClick(视图)”到目前为止就是这样。运行应用程序看看代码现在是否工作。就是这样!谢谢!真不敢相信一个简单的大写字母就让我如此头疼我做错了什么;谢谢你的帮助!介意告诉我第一个错误是关于什么吗?我做了什么我以后不应该做的?@beans217你还有错误吗?第一个错误的发生是因为大写错误本身。.由于
onClick()
是onClickListener的一个抽象方法,它几乎无法手动重写它,因为在您的代码中从未找到
onClick()
,因为它是
onClick()
b2.setOnClickListener(new View.OnClickListener () {

public void onClick(View view) {
    Intent aspirin2 = new Intent(HomeScreen.this, aspirin.class);
    startActivity(aspirin2);
}});