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 回答