2 o19830015 o19830015 于 2013.04.07 14:00 提问

android-点击button没有事件

在activity中有一个button,在点击之后到toast,响应的事件没有触发:

public class myActivity extends Activity implements OnClickListener {
    EditText nameEditText;
    Button okButton;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        nameEditText = (EditText) findViewById(R.id.editText);
        okButton = (Button) findViewById(R.id.button);
    }
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch (v.getId()) {
        case R.id.button:
            Toast.makeText(myActivity.this, "Pressed", Toast.LENGTH_LONG)
                    .show();
            break;
        default:
            break;
        }
    }
}

3个回答

Kill_it
Kill_it   2013.04.07 16:45
已采纳

你忘了给按钮添加监听。
因为activity已经执行onClickListener接口,因此需要在
okButton = (Button) findViewById(R.id.button)之后添加okButton.setOnClickListener(this);

在你的onCreate函数中用下面的代码:

myActivity.java

public class myActivity extends Activity implements OnClickListener {

        EditText nameEditText;
        Button okButton;

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            nameEditText = (EditText) findViewById(R.id.editText);
            okButton = (Button) findViewById(R.id.button);
                okButton.setOnClickListener(this);
        }

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            switch (v.getId()) {
            case R.id.button:
                Toast.makeText(myActivity.this, "Pressed", Toast.LENGTH_LONG)
                        .show();
                break;

            default:
                break;
            }
        }
    }
AnnBnnCnnD
AnnBnnCnnD   2013.04.07 15:16

onCreate方法添加寄存器:

okButton.setOnClickListener(this);  

在这之后:

okButton = (Button) findViewById(R.id.button);
fei_shui
fei_shui   2014.03.24 15:38

给你提供一个button的编程demo把,自己可以对照一下
地址是:http://115.28.145.197/posts/509

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!