我的活动中setOnclickListener出错

时间:2015-04-08 05:24:49

标签: android

((Button)findViewById(2131230768)).setOnClickListener(new MainMenuActivity(this));

View.OnClickListener runGameListener = new MainMenuActivity(this);

我已经实现了onclicklistener,即使它在主要活动上出错了

我的班级是

public class MainMenuActivity
  extends Activity implements OnClickListener

请帮帮我..

3 个答案:

答案 0 :(得分:1)

假设你有布局sample_activity

以下是sample_activity.xml的代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="GO!!"
        android:id="@+id/buttonGo"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="170dp" />
</RelativeLayout>

MainActivity.class

public class MainActivity extends ActionBarActivity {

    Button goButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sample_activity);

        goButton = (Button) findViewById(R.id.buttonGo);
        goButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                //....Do all the stuffs here

            }
        });


    }

答案 1 :(得分:0)

首先检查你的xml按钮的id是写还是不?我认为你的错误是错误的。

答案 2 :(得分:0)

首先,永远不要按生成的id值搜索视图。请改用标识符名称,例如

findViewById(R.id.your_button)

其次,new Activity不正确。不要自己实例化活动。

由于您的活动实现View.OnClickListener并假设代码属于同一活动,因此只需使用

即可
setOnClickListener(this)

即,

findViewById(R.id.your_button).setOnClickListener(this);

setOnClickListener()是一种View方法,因此此处不需要转换为Button。)