一般的なAndroidアプリケーションの機能は、各アイテムをスワイプして次のアイテムまたは前のアイテムに移動することです。AndroidはSQLiteカーソルを使用して次のアイテムまたは前のアイテムを表示します
if (cursor.moveToFirst()) {
listThings.setAdapter(new ResourceCursorAdapter(this, R.layout.my_simple_expandable_list_item_2, cursor) {
@Override
public void bindView(View view, Context context, Cursor cursor) {
TextView tvFirst = (TextView)view.findViewById(android.R.id.text1);
TextView tvSecond = (TextView)view.findViewById(android.R.id.text2);
tvFirst.setText(cursor.getString(1) + " - " + getPctString(cursor.getString(2)));
tvSecond.setText(cursor.getString(3));
}
});
} else {
....
正常に動作します:
データベースカーソルはListActivityののonCreateに表示される項目のリストが含まれています。ビルトインレイアウトリソースR.layout.my_simple_expandable_list_item_2
は、カーソルに各項目を単一のテキストビューで表示するようにアダプタに指示します。クリックで、私は、後続の活動の項目の詳細を表示することができるよ:
AdapterView.OnItemClickListener itemClickListener = new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> listView, View v, int position, long id) {
Intent intent = new Intent(ThingListActivity.this, ThingActivity.class);
intent.putExtra(FollowOnActivity.EXTRA_ID, (int) id);
startActivity(intent);
}
};
は一度FollowOnActivity
に私が詳細を検索し、ビューを移入することができます。私は耳を傾けて耳を傾けることもできます。
問題:私はリストの次の項目と前の項目にアクセスできない。これまでのところ、私は考えていることを考えていません。クリーンな解決策。これは共通の要件であるため、おそらくこれには良いパターンがあります。私はそれが何であるか知りたいです。
screen slide exampleを有効にできましたが、その例のリストは5つの項目に固定されています。これらの項目は、データベース項目ではなくxmlファイルのテキストです。私はScreenSlidePagerActivity
に基づいてThingSlideActivity
を作成し、ScreenSlidePageAdapter
に基づいてを、ScreenSlidePageFragment
に基づいてThingSlideFragment
を作成しました。しかし私はそれを私が来ているリストビューに配線する方法を知らない。それは大きなリストを持っているかもしれません、そして私はで、すべての詳細を取得しようとしていません。
私はカーソル(この質問の先頭にあるコードの最初のブロック)が入力されたリストビューに座っています。ユーザーがリスト内のランダムなものをクリックし、onListItemClickが実行されます。前と次のアイテムを左右にスワイプすることができるようにするにはどうすればよいですか?
受け入れられた答え[ここ](http://stackoverflow.com/questions/7269830/how-to-get-the-previous-item-of-clicked-listviewitem)を見てください。 – Cheticamp
その答えはむしろ不気味です。理解できません。これは、 "指定された位置のリストアイテムを返すアダプタのgetItem(int position)メソッドを使用する"と言いますが、FollowOnActivityのOnTouchListenerでは、以前のListViewのアダプタを取得する方法はわかりません。 – Dale