У меня есть настраиваемый диалог с gridview в нем. Диалоговое окно появляется, когда я нажимаю текстовое окно (работает). В диалоговом окне есть сетка. Моя цель состоит в том, чтобы изменить значение пробегов TextView на выборе значения из GridView и увольняет диалогAndroid: Не удается отменить собственный диалог
protected Dialog onCreateDialog(int id) {
Dialog dialog = null;
switch (id) {
case CATEGORY_ID:
AlertDialog.Builder builder;
AlertDialog alertDialog;
// Context mContext = this;
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.gridview_cell,
(ViewGroup) findViewById(R.id.layout_root));
GridView gridview = (GridView) layout.findViewById(R.id.gridView1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
R.layout.text_gridview, R.id.run_cell, numbers);
gridview.setAdapter(adapter);
builder = new AlertDialog.Builder(context);
builder.setView(layout);
dialog = builder.create();
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
runs.setText(String.valueOf(position));
**dialog.cancel() or dialog.dismiss are giving me this error: 'Cannot refer to a non-final variable result inside an inner class defined in a different method'**
}
});
break;
}
return dialog;
}
после Предлагаемое изменение я получаю эту ошибку ** «Диалог локальная переменная не может быть инициализирована» ** на line ** return **, –
@Android_Surfer Это редактирование должно исправить это для вас. –
большое спасибо. Он работает сейчас. С наилучшими пожеланиями. –