ボタンを格納するダイアログレイアウトxmlファイルがあり、設定android:onClick="doSomething"
しましたが、そのダイアログにクラスファイルが添付されていません。したがって、実際には、プロジェクトにある唯一のファイルは dialog_layout.xml です。それを表示して操作することはできますが、ダイアログのボタンの onClick リスナーを作成することはできません。ダイアログを起動するアクティビティをそのダイアログの所有者にして、そのアクティビティで public void doSomething(View view) を作成しようとしましたが、まだ機能していないようです。次のエラーが表示されます。
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'
私は何が間違っているのですか?
EDITここにコードがあります:
@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;
}
});