Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android按钮没有';行不通_Java_Android_Android View - Fatal编程技术网

Java Android按钮没有';行不通

Java Android按钮没有';行不通,java,android,android-view,Java,Android,Android View,我是Java Android编程新手。我想集成一个按钮和一个侦听器,但我无法让它工作 public class MainClass extends Activity implements OnClickListener{ private EditText text; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceSt

我是Java Android编程新手。我想集成一个按钮和一个侦听器,但我无法让它工作

public class MainClass extends Activity implements OnClickListener{

   private EditText text;   

   @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        text = (EditText) findViewById(R.id.editText1);
        Log.e("AOWN", "STARTED !");
    }

   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.activity_main, menu);
      return true;
   }

   @Override
   public void onClick(View view){
       Log.e("AOWN", "I just clicked !");
   }
}
我知道如何迭代所有按钮(R类),但不会调用方法onClick

我试着添加一个测试按钮并附加一个监听器到它上,它工作正常,但它更多的是编码,我很懒

这是可行的,但更多的是编写代码,我正在阅读一本书,其中使用onClick()方法启动操作


您从未在原始代码中设置onClickListener。您只需执行以下操作:

  Button bTest = (Button)findViewById(R.id.button1);
  bTest.setOnClickListener(this)

@_DEV:Pearson的答案是正确的。你读过这篇文章吗?是的,他说(在下半部分)如果添加按钮实例,这意味着他已经知道perason的答案是什么,但他想要的是不创建按钮实例的东西,比如我们只在xml文件中添加onclick,不,他不想为每个按钮添加匿名内部类。即使您的活动实现了OnClickListener,您仍然必须为每个应该做出反应的按钮分配一个侦听器。是的,您可以在XML中添加方法,但对于给定的示例,这是他的解决方案。我认为他没有意识到您可以添加一个实现了
onClickListener
的类,而不需要在
setOnClickListener
方法中实际创建一个新类。这就是我的答案。如果你对他说的话有更好的解释,请随意写下你自己的答案。@ZbarceaChristian:你的活动实现了OnClickListener,所以现在你的活动本质上是一个OnClickListener。但是,您仍然必须将该侦听器分配给每个按钮(因此setOnClickListener(this)中的“this”)。这个活动就是“this”,你必须告诉每个按钮使用这个活动作为点击监听器。”…它在工作,但它更多的是编码,我很懒。”你在跟踪我们吗?
  Button bTest = (Button)findViewById(R.id.button1);
  bTest.setOnClickListener(this)