0
我的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 2012-01-05 03:31:09