我有存储按钮对话框布局xml文件,我已经设置android:onClick="doSomething"
,但我没有连接到该对话框的任何类文件。所以实际上dialog_layout.xml是我在我的项目中唯一的文件。我能够显示它并能够与它交互,但是我无法为对话框中的按钮创建onClick监听器。 我试图让启动我的对话框的活动,该对话框的所有者,然后在该活动创建公共无效doSomething(视图视图),但它似乎仍然工作。我得到这个错误:添加的onClick在对话框布局按钮,不具有
08-03 23:39:23.085: E/AndroidRuntime(6757): java.lang.IllegalStateException: Could not find a method doSomething(View) in the activity class android.view.ContextThemeWrapper for onClick handler on view class android.widget.Button with id 'button2'
任何想法我做错了什么?
编辑 这里是代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings);
findViewById(R.id.button2).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//Do something.
}
});
Preference keyP = (Preference) findPreference("keyP");
keyP.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
Dialog dialog = new Dialog(SettingsActivity.this);
dialog.setContentView(R.layout.draws_dialog);
dialog.setTitle("Title");
dialog.show();
return true;
}
});
难怪它不工作。在创建并显示对话框的地方添加代码,然后添加缺失的部分。你显然正在夸大对话框布局。有一个地方可以添加按钮点击监听器。 – Maxim 2012-08-03 21:00:28
我编辑我的问题,现在包括代码 – 2012-08-04 12:36:30