Androidアプリに問題があります。おそらく単純なJavaの問題ですが、私はJavaをよく知っていて、Googleに何を知っているのか分かりません。以下は私の問題を説明しているものの簡略版です。私はダイアログからgridview
にアクセスしたいと思っています。明らかに私がここにいるのは正しいことではない。私はonCreateメソッドの外で宣言を移動しようとしましたが、起動時にアプリケーションがクラッシュしました(エラーメッセージは表示されません)。私もShowDialog
の引数として追加しようとしましたが、うまくいきませんでした。あなたが言うことができるように、私は何をしているのか分からない。思考?ダイアログ(Android)からGridViewインスタンスにアクセスするにはどうすればよいですか?
public class HelloGridView extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(this));
((ImageAdapter) gridview.getAdapter()).initializemThumbIds();
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
showDialog(0);
}
});
}
protected Dialog onCreateDialog(int id) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("?")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
gridview.setAdapter(new ImageAdapter(this)); // gridview cannot be resolved
dialog.cancel();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
HelloGridView.this.finish();
}
});
AlertDialog diag = builder.create();
return diag;
}
}
ありがとうございます!そうです、私はImageAdapterをメンバ変数にしたいと思っていました。 – BenH