ListViews
は常に私の弱点であり、今はListview
をListview
に入れて練習しています。とにかく、私が最初に私のプログラムの開始時に私のListView
を呼び出すと、それは私のstrings.xml
に保存された配列とそれをロードします。別のデータを表示するために同じListViewを再利用
String[] departments = getResources().getStringArray(
R.array.departments_array);
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item,
departments));
setContentView(R.layout.main);
ListView lv = getListView();
lv.setTextFilterEnabled(true);
私が何をしたいのか、更新このListView
ある値の新しい配列と各時間Aリスト項目をクリックします。私がこのようにしようとしている理由は、それぞれの位置に異なる値を持つ27個の異なる配列を持つことを計画しているため、アイテムの配列ごとにListView
を作るのではなく、これを更新しますListView
。私はおそらくこれを最も効率的な方法でやっていないことを知っていますが、私の考えを実装する別の方法があれば教えてください。
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
switch (position) {
case 0:
try {
//It is here that i dont know what to do, I was going to call
//the Listview the same way i did previously using my setlistadapter,
//but i kept getting errors about the code being undefined
String[] listitems1 = getResources().getStringArray(
R.array.items_array);
} catch (ClassCastException e) {
Toast.makeText(getApplicationContext(), "Error",
Toast.LENGTH_SHORT).show();
}
break;
case 1:
try {
//The listview will be changed again here
} catch (ClassCastException e) {
Toast.makeText(getApplicationContext(), "Error",
Toast.LENGTH_SHORT).show();
}
break;
}
};
});
各配列の新しいアクティビティを開始する場合は、リストビューでは、それは私に約27の余分なクラスを持っていますか?それは悪いですか?私はいつも私ができるだけすべてを最小限にしようとしていると思っていたと思った –
@TheObliviator私の答えは、あなたが27項目のメインリストを持っている場合、それらの27項目のそれぞれに対して、リストにも表示されます(これは私が理解しているもので、27のアクティビティーを1つのメインアクティビティーとクリックした位置に対応する配列を表示する1つのアクティビティーがないわけではありません)。これがあなたが望むものでない場合は、あなたの質問を編集して、あなたが望むものをよりよく説明する必要があります。 – Luksprog
これはまさに私が欲しいものです。そして、私は学校から家に帰るともう少しそれを試してみるつもりですが、ある種の例や擬似コードが役に立ちます。 –