我整天都在打错误"申请已经意外停止了.请再试一次." 此问题是由方法"setOnClickListener"引起的.我正在按照以下方式使用此组件:
public class main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button nnumb1 = ((Button)this.findViewById(R.id.numb1));
nnumb1.setOnClickListener((OnClickListener) this);
Button nnumb2 = ((Button)this.findViewById(R.id.numb2));
nnumb2.setOnClickListener((OnClickListener) this);
}
public void onClickHandler(View v){
setTitle("???");
String pressed = null;
switch (v.getId()) {
case R.id.nnumb1:
pressed="number one";
break;
case R.id.nnumb2:
pressed="number two";
break;
}
new AlertDialog.Builder(this).setTitle("Info").setMessage(pressed).setNeutralButton("Okey", null).show();
}
}
Run Code Online (Sandbox Code Playgroud)
main.xml中按钮的ID称为"numb1"和"numb2".它看起来问题是前5行 - 但我不知道,如何解决它...我会很高兴任何提示......
谢谢!
问题似乎是这一行:
nnumb2.setOnClickListener((OnClickListener) this);
Run Code Online (Sandbox Code Playgroud)
您正在将当前的Activity转换为OnClickListener,但是您没有实现正确的接口,因此这会在运行时给您一个异常.您必须在Activity中实现OnClickListener:
public class main extends Activity implements OnClickListener
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样使用它:
numb2.setOnClickListener(this);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1547 次 |
| 最近记录: |