私はあなたのソリューションがユーザーとして気に入らないことを伝えなければなりません。リストから選択し、クリック後に編集アクティビティを行うことをお勧めします。これは、私がすべての Android アプリで見たデフォルトのアプローチであり、あなたにとっても簡単です。
あなたが説明したことをまだやりたいのなら、私はこれを試してみます:
- 作成する
ListView
- クラスを作成する
QuestionOrDialog
- ArrayAdapter から拡張する Adapter を作成する
getView
次のようなことをオーバーライドします。
QuestionOrDialog aQuestionOrDialog = getItem(position);
if ( aQuestionOrDialog.showDialog() ) {
return mInflater.inflate(R.layout.dialog, parent, false);
} else {
view = mInflater.inflate(R.layout.question, parent, false);
TextView question = (TextView) view.findViewById(R.id.question);
question.setText(aQuestionOrDialog.getQuestion());
}
OnClick
で getItem() を実行し、クリックされたことを設定する必要があります。
- アイテムが変更されたことを listView に伝えます。
それがうまくいくことを願っています。