【发布时间】:2011-04-13 10:49:48
【问题描述】:
我有这个 xml 布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout android:orientation="vertical" android:background="@color/white" android:layout_width="fill_parent" android:layout_height="200px">
<TextView
android:layout_x="0dp"
android:layout_y="10dp"
android:layout_gravity="left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15dp"
android:textColor="@color/white"
android:text="Name: " />
<EditText
android:layout_x = "20px"
android:layout_y = "10px"
android:layout_gravity="left"
android:textSize="15sp"
android:id="@+id/et_username" android:textColor="@color/black"
android:layout_width="150px"
android:layout_height="50px" />
<Button
android:layout_x = "200px"
android:layout_y = "10px"
android:layout_gravity="left"
android:textSize="16sp"
android:layout_width="96px"
android:layout_height="50px"
android:background ="@drawable/login"
android:id="@+id/btn_login"
android:textColor="@color/white"
android:text="next"
android:onClick="onLoginClicked" />
</AbsoluteLayout>
</LinearLayout>
java 文件:
public class ButtonAdapter extends BaseAdapter {
...
public View getView(int position, View convertView, ViewGroup parent) {
return LayoutInflater.from(mContext).inflate(R.layout.custom_keyboard, null);
}
public void onLoginClicked(View v) {
Button button = (Button) v;
String key = button.getText().toString();
anotherMethod(key, false);
}
...
}
我在这里使用适配器:
GridView gridview = new GridView(context);
gridview2.setAdapter(new KeyboardAdapter(1, context));
谁能告诉我,为什么我点击按钮时会出现以下错误?
java.lang.IllegalStateException: Could not find a method onLoginClicked(View) in the activity class MainActivity for onClick handler on view class android.widget.Button
【问题讨论】:
-
您的 onLoginClicked(View v) 方法在您的 ButtonAdapter 类而不是 MainActivity 中?
-
您确定吗,您的
onLoginClicked方法在 MainActivity 类中,而不是在您的ButtonAdapter中 - 它是在 MainActivity 中查找的。span> -
我有 'ButtonAdapter' 以便在我的 Activity 中不包含所有内容。