Как установить событие onClick в ImageButton?

Я создал одну кнопку изображения в Android, но когда я нажимаю на эту кнопку, ничего не происходит. Я установил все свойства, но ничего не происходит. Так вы можете мне помочь, если я ошибаюсь.

Xml-файл

<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout android:id="@+id/widget39" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <EditText android:id="@+id/editText1" android:layout_width="fill_parent" android:layout_height="50dp" android:layout_x="0dp" android:layout_y="3dp" /> <ImageButton android:id="@+id/search" android:layout_width="40dp" android:layout_height="41dp" android:layout_x="312dp" android:layout_y="10dp" android:clickable="true" android:onClick="onClick" android:background="@drawable/search" /> /> </AbsoluteLayout> 

search.java

 public class SearchData extends Activity { ImageButton search; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_search_data); search =(ImageButton)findViewById(R.id.search); search.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { try { ConnectService(); } catch (Exception e) { e.printStackTrace(); } } }); } 

 <ImageButton android:id="@+id/search" android:layout_width="40dp" android:layout_height="41dp" android:layout_x="312dp" android:layout_y="10dp" android:clickable="true" android:onClick="onClick" android:background="@drawable/search" /> 

В соответствии с вашим xml вы должны удалить android:onClick="onClick" из вашей кнопки Xml изображения. Затем он будет работать, потому что первый приоритет будет всегда использоваться для метода onClick, о котором вы упомянули в xml.

Удалить android:onClick="onClick" из xml

Попытайтесь внедрить прослушиватель Onclick в свою деятельность

  <ImageButton android:id="@+id/search" android:layout_width="40dp" android:layout_height="41dp" android:layout_x="312dp" android:layout_y="10dp" android:clickable="true" android:onClick="onClick" android:background="@drawable/search" /> /> 

Нет проблемы с этой кнопкой

Измените свою деятельность так, как показано ниже.

  ***search.java*** public class SearchData extends Activity implements OnClickListener{ ImageButton search; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_search_data); search =(ImageButton)findViewById(R.id.search); search.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.search: try { ConnectService(); } catch (Exception e) { e.printStackTrace(); } break; } } } 

Надеюсь, он сработает. Если у вас есть какие-либо сомнения в реализации этого, дайте мне знать

Вам нужно что-то вроде этого:

В вашем XML см. Значение android:onClick and android:id :

 <ImageButton android:id="@+id/search" android:layout_width="40dp" android:layout_height="41dp" android:layout_x="312dp" android:layout_y="10dp" android:clickable="true" android:onClick="myFunctionName" android:background="@drawable/search" /> 

В файле file.java См. Имя функции myFunctionName и действия, когда событие возбуждено в случае case R.id.search:

 public class SearchData extends Activity { ImageButton search; public void myFunctionName(View view) { switch (view.getId()) { case R.id.search: try { ConnectService(); } catch (Exception e) { e.printStackTrace(); } break; } } protected void onCreate(Bundle savedInstanceState) { // code } }