このおそらく単純な問題/バグの解決策を見つけることができないようですので、ここにあります:
タイプ (android.R.layout.simple_list_item_checked) の ListFragment で、クリックすると他のフラグメントが読み込まれ、他の作業が行われます。
問題は、表示されていない ListFragment 内の文字列が、スクロールして表示に戻ると、明確な理由もなく次の行に「ラップ」されることです。以下の写真でよりよく説明されています:
写真1:通常状態
写真 2: リストを下にスクロール - すべて正常に動作しています (ランボルギーニは見えません)。
写真 3 : しかし、ポルシェを選択して下にスクロールすると、「ムスタング」のテキストが壊れてしまいました
写真 4 : ランダムにクリックして上にスクロールすると、"Lamborghini" も同様です。
リストビューの作成に使用したコードは非常に簡単です。
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
getListView().setHorizontalFadingEdgeEnabled(true);
getListView().setVerticalFadingEdgeEnabled(true);
getListView().setFastScrollEnabled(true);
carsTitleAdapter = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_checked, CarModels.Models);
setListAdapter(carsTitleAdapter);
CarModels.class の文字列
public static final String[] Models = {
"Porsche",
"Lamborghini",
"Ferrari",
"McLaren",
"Aston Martin",
"Jaguar",
"Audi",
"Mustang",
};
リストが更新されることを期待して、onListItemClick() の最後に notifyDataSetChanged() を呼び出してみましたが、問題は解決しません。これに対する可能な解決策はありますか?ありがとう!
PS: サポート ライブラリ v4 を使用して、Galaxy Tab 10.1、Honeycomb 3.1 で実行しています。このビルドのバグである可能性がありますか?