活动上的多个按钮

时间:2014-03-30 03:57:32

标签: button android-intent

我是Java的新手,正在努力弄清楚如何做到这一点  在活动上有四个按钮,可以添加意图以启动其他活动。当我运行代码时,它会在模拟器到达此页面时停止应用程序。

真诚地感谢任何帮助。这是我的代码:

package com.helpfinder.app;

import android.content.Intent;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;





public class LakeOptions extends Activity implements View.OnClickListener{



@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.lake);

    Button imageButton5= (Button) findViewById(R.id.imageButton5);
    Button imageButton6= (Button) findViewById(R.id.imageButton6);
    Button imageButton7= (Button) findViewById(R.id.imageButton7);
    Button imageButton8= (Button) findViewById(R.id.imageButton8);


   imageButton5.setOnClickListener(new View.OnClickListener() {

    public void onClick(View imageButton5) {
        Intent goToLakeFood = new Intent(LakeOptions.this,LakeFood.class);
        startActivity(goToLakeFood);

    }
        });
    imageButton6.setOnClickListener(new View.OnClickListener() {

    public void onClick(View imageButton6) {
       Intent goToLakeHousing = new Intent(LakeOptions.this,LakeHousing.class);
       startActivity(goToLakeHousing);

    }
       });
    imageButton7.setOnClickListener(new View.OnClickListener() {

        public void onClick(View imageButton7) {
            Intent goToLakeAssistance = new    Intent(LakeOptions.this,LakeAssistance.class);
            startActivity(goToLakeAssistance);

        }
    });
    imageButton8.setOnClickListener(new View.OnClickListener() {

        public void onClick(View imageButton8) {
            Intent goToLakeOtherServices = new Intent(LakeOptions.this,   LakeOtherServices.class);
            startActivity(goToLakeOtherServices);

        }
    });

}public void onClick(View v) {
}

}

在xml中的按钮上,我有

android:onClick="onClick"

在这里尝试了建议之后,我的代码现在看起来像这样:但应用程序甚至不会运行第一页。我按照你的建议取出了最后一段代码但是当我在android studio中实现了onClick监听器时,它会立即添加代码。

public class LakeOptions extends Activity implements View.OnClickListener{



@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.lake);

    Button imageButton5= (Button) findViewById(R.id.imageButton5);
    Button imageButton6= (Button) findViewById(R.id.imageButton6);
    Button imageButton7= (Button) findViewById(R.id.imageButton7);
    Button imageButton8= (Button) findViewById(R.id.imageButton8);


   imageButton5.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
        Intent goToLakeFood = new Intent(LakeOptions.this,LakeFood.class);
        startActivity(goToLakeFood);

    }
        });
    imageButton6.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v){
       Intent goToLakeHousing = new Intent(LakeOptions.this,LakeHousing.class);
       startActivity(goToLakeHousing);

    }
       });
    imageButton7.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v){
            Intent goToLakeAssistance = new Intent(LakeOptions.this,LakeAssistance.class);
            startActivity(goToLakeAssistance);

        }
    });
    imageButton8.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v){
            Intent goToLakeOtherServices = new Intent(LakeOptions.this, LakeOtherServices.class);
            startActivity(goToLakeOtherServices);

        }
    });

}

@Override
public void onClick(View view) {

}

}

1 个答案:

答案 0 :(得分:0)

在您的XML文件中,您要删除:

android:onClick="onClick"

因为你在java代码中设置了按钮处理程序。

此外,您要删除最后一个onClick函数,因为您没有使用它。 (滚动到代码的底部)

最后,替换onClick处理程序签名:

public void onClick(View imageButton[5-8])

public void onClick(View v)