Android开发——public class MainActivity extends AppCompatActivity implements View.OnClickListener无法运行
开始学Android了,记录一些TD的bug和问题……
在《第一行代码Android》第二版中进行代码跟进时,于82页左右的代码示例大概是这样的:
1 public class MainActivity extends AppCompatActivity implements View.OnClickListener { 2 3 private EditText editText; 4 5 @Override 6 protected void onCreate(Bundle savedInstanceState) { 7 super.onCreate(savedInstanceState); 8 setContentView(R.layout.activity_main); 9 editText = (EditText)findViewById(R.id.edit_text); 10 Button button = (Button)findViewById(R.id.bottom); 11 button.setOnClickListener(MainActivity.this); 12 } 13 14 @Override 15 public void onClick(View v) { 16 switch (v.getId()){ 17 case R.id.bottom: 18 String inputText = editText.getText().toString(); 19 Toast.makeText(MainActivity.this, inputText, Toast.LENGTH_SHORT).show(); 20 break; 21 default: 22 break; 23 } 24 } 25 }
这个方法还是挺好的,直接在我们的MainActivity中继承View.OnClickListener接口,在类中复写onClick方法,但是!!!
程序进入模拟器之后无法启动,显示停止运行!
在网上查了一下原因,总是查不到点子上,没有找到出现问题的根源。
好吧,进行实验,一步一步回敲,首先就对新方法 implements View.OnClickListener进行删除差错……果然动手才好使。
得到解决方案:
将 implements View.OnClickListener即相关代码进行删除。
1 public class MainActivity extends AppCompatActivity { 2 3 private EditText editText; 4 5 @Override 6 protected void onCreate(Bundle savedInstanceState) { 7 super.onCreate(savedInstanceState); 8 setContentView(R.layout.activity_main); 9 editText = (EditText)findViewById(R.id.edit_text); 10 Button button = (Button)findViewById(R.id.bottom); 11 } 12 13 }
然后再根据自己的需求,使用一般的设置按钮相应方式就可以解决了。就不赘言了。