少し前に、簡単なダイアログを作成しました。すべてが正常に見えますが、閉じようとした後、問題が発生しています。エラーは
"void is an invalid type for the variable buttonOK"
です。
うーん、スクリーンショットへのリンクを教えてあげましょう:http: //i.imgur.com/tiAiI.png
ダイアログのコード:
public void aboutApp(View view) {
// custom dialog
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.aboutapp);
dialog.setTitle("about ");
// set the custom dialog components - text, image and button
TextView text = (TextView) dialog.findViewById(R.id.text);
text.setText("bla bla bla ");
ImageView image = (ImageView) dialog.findViewById(R.id.image);
image.setImageResource(R.drawable.android);
@Override
public void buttonOK(View view) {
dialog.dismiss();
}
dialog.show();
}
それを機能させるにはどうすればよいですか?
PSでpublic void buttonOK(View view)
、正確にはview
-でエラーが発生しました。Duplicate local variable view
たとえば、名前を変更する必要がありview2
ますか?
わかりました、私は解決策を見つけました。
問題は(RidcullybuttonOK()
に気づいたように)別のメソッドでメソッドを定義しaboutApp()
たことでした。これはJavaでは実行できないことです(uach、今では私はそれを知っています:D)。
私は単にコードを置き換えました:@Override
public void buttonOK(View view) {
dialog.dismiss();
}
に:
Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK);
// if button is clicked, close the custom dialog
dialogButton.setOnClickListener(new OnClickListener() {
public void onClick(View view2) {
dialog.dismiss();
}
});
今それは動作します、助けのためにすべてをthx!