Клик по ListView в DialogFragment
Добавлено: 10 мар 2015, 09:04
Добрый день.
Столкнулся с проблемой краша приложения при клике на элементе ListView в диалоге DialogFragment.
Приведу упрощенный код приложения:
main.java: (вызываю диалог и передаю в него 2 переменные: для заголовка и для заполнения ListView)
public class SynonimDictionaryActivity extends ActionBarActivity {
DialogFragment dlg1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_synonim_dictionary);
dlg1 = new DialogSynonim();
dlg1.show(getFragmentManager(), "dlg1");
Bundle args = new Bundle();
args.putInt("position", position);
args.putStringArrayList("data", clickWordsSynonum);
dlg1.setArguments(args);
}
}
DialogSynonim.java (класс диалога, в котором показываю ListView)
public class DialogSynonim extends DialogFragment implements View.OnClickListener
{
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View v = inflater.inflate(R.layout.dialog_synonim, null);
listView = (ListView)v.findViewById(R.id.listView);
Integer position = getArguments().getInt("position");
data = getArguments().getStringArrayList("data");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), R.layout.abc_action_menu_item_layout,data);
listView.setAdapter(adapter);
String word = adapter.getItem(position);
getDialog().setTitle(word);
}
}
В результате клика по строке в ListView получаю падение приложения, ошибку отловить так и не смог.
Подскажите, в какую сторону смотреть?
Столкнулся с проблемой краша приложения при клике на элементе ListView в диалоге DialogFragment.
Приведу упрощенный код приложения:
main.java: (вызываю диалог и передаю в него 2 переменные: для заголовка и для заполнения ListView)
public class SynonimDictionaryActivity extends ActionBarActivity {
DialogFragment dlg1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_synonim_dictionary);
dlg1 = new DialogSynonim();
dlg1.show(getFragmentManager(), "dlg1");
Bundle args = new Bundle();
args.putInt("position", position);
args.putStringArrayList("data", clickWordsSynonum);
dlg1.setArguments(args);
}
}
DialogSynonim.java (класс диалога, в котором показываю ListView)
public class DialogSynonim extends DialogFragment implements View.OnClickListener
{
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View v = inflater.inflate(R.layout.dialog_synonim, null);
listView = (ListView)v.findViewById(R.id.listView);
Integer position = getArguments().getInt("position");
data = getArguments().getStringArrayList("data");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), R.layout.abc_action_menu_item_layout,data);
listView.setAdapter(adapter);
String word = adapter.getItem(position);
getDialog().setTitle(word);
}
}
В результате клика по строке в ListView получаю падение приложения, ошибку отловить так и не смог.
Подскажите, в какую сторону смотреть?