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