0
私はAndroid Gingerbreadとハニカムデバイスに私のアプリケーションを提供するために互換APIを使用しています。 私はListFragment
を構築し、ListFragment
に自分のListAdapter
の実装を設定します。リストのアダプター互換性APIを持つハニカムのリストフラグメント
ListableAdapter adapter = new ListableAdapter(this.savedItems, (BaseActivity) this.getActivity());
this.setListAdapter(adapter);
ListAdapter
は、このようなgetView
メソッドを実装:ジンジャーブレッドのデバイス上で
public View getView(int pos, View convertView, ViewGroup parent) {
Log.d(this.getClass().getName(), "building list item @ " + pos);
View v = convertView;
if (!this.savedItems.isEmpty() && (pos < this.savedItems.size())) {
if (v == null) {
LayoutInflater vi = (LayoutInflater) this.activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.saved_list_item, null);
}
Listable item = this.savedItems.get(pos);
Log.d(this.getClass().getName(), "Item @ " + pos + ": " + item.getDisplayName());
if (item != null) {
ImageView icon = (ImageView) v.findViewById(R.id.saved_item_icon);
TextView title = (TextView) v.findViewById(R.id.saved_item);
StarField star = (StarField) v.findViewById(R.id.favorit);
star.setEnabled(false);
icon.setImageResource(item.getImageID());
title.setText(item.getDisplayName());
star.setChecked(item.isFavorit());
}
}
// this.pos++;
return v;
}
(サムスンギャラクシーS2)、これは非常にうまく動作しますが。私のリストは、私が期待どおりに人口が集まっています。私のGalaxyTab 10.1(Android 3.1)では、パラメータpos
はすべての電話番号0
にあるので、リスト項目は1つだけです。
ListFragment
がこの奇妙なパラメータでgetView
を呼び出す理由を知っていますか?
BaseActivityがFragmentActivityから延びている私自身の実装です。これは私の活動にいくつかの共通の機能を提供するだけです。 'onResume'メソッドでアダプタを設定しました。 – keineantwort
onActivityCreatedでアダプタをセットアップしてみてください。最高の願い、ティム – Tim
何も変更されません。 – keineantwort