我在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();
}
}
});
}
答案 0 :(得分:4)
<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,您应该从图像按钮Xml中删除android:onClick="onClick"
行。然后它将起作用,因为第一优先级将始终用于您在xml中提到的onClick方法。
答案 1 :(得分:1)
你需要这样的东西:
XML中的会看到android:onClick
和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
}
}
答案 2 :(得分:1)
从xml
中删除android:onClick="onClick"
答案 3 :(得分:1)
尝试为您的活动实施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;
}
}
}
希望它会奏效。如果您对此有任何疑问,请告诉我
答案 4 :(得分:1)
(例如activity_main.xml)
<ImageButton
android:id="@+id/search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/home"
...
/>
Java文件中的(例如activity_main.java)
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// initiate and perform click event on button's
ImageButton search = (ImageButton)findViewById(R.id.search);
search.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(),"search button is Clicked", Toast.LENGTH_LONG).show();
}
});
}