1

私はリストビューを持っており、アプリの起動時に利用できる要素がほぼ1400個あるAndroidアプリがあります。ユーザーがアイテムを選択したときに、1400アイテムのリストでアイテム番号1257と言うプロセスを実装しようとしています。アクティビティは正常に変更されますが、ユーザーが戻ったときに、1256アイテムをスクロールせずにそのアイテムを再表示したいのですが、現在はsmoothScrollToPositionを使用してアイテムにアクセスしていますが、それ自体がスクロールするので、数回かかります。そこに着くまでの秒数。

私はセットポジションを試しましたが、うまくいきませんでした。

それは通常のプロセスですか、それともアプリがそれ自体でスクロールするのを見る必要なしにそこに直接ジャンプする方法がありますか。

全体的に、スクロールするよりも速くそこに到達しますが、その多くの項目を通過するとき、私はより良い解決策を望んでいました。

任意のアイデアここに私がリストビューを作成するコードがあります

list1=(ListView)findViewById(R.id.list);
adapter=new LazyAdapterB(this, mStrings, list, desc, audiotrack, audiotracksize, appSKU, purchased);
list1.setAdapter(adapter);

list1.smoothScrollToPosition(1258);


list1.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0,
    View arg1, int arg2, long arg3) {
    Intent myIntent;
    myIntent = new Intent(context, MainActivity.class);
    Bundle myBundle = new Bundle();
    myBundle.putString("image", mStrings[arg2]);
    myBundle.putString("title", list[arg2]);
    myBundle.putString("desc", desc[arg2]);
    myBundle.putString("purchased", purchased[arg2]);
    myBundle.putString("audiotrack", audiotrack[arg2]);
    myBundle.putString("audiotracksize", audiotracksize[arg2]);
    myBundle.putString("appSKU", appSKU[arg2]);
    myIntent.putExtras(myBundle);
    startActivity(myIntent);
    }
});

私はこれを正しい場所でやっていますか

4

1 に答える 1

0

使用する必要がありますsetSelection(int position)

例えば

 list1.setSelection(1258);
于 2013-01-28T19:27:03.037 に答える