如何设置列表的选定位置

时间:2013-01-28 18:18:47

标签: android

我有一个listview和Android应用程序,其中有近1400个元素将在应用程序启动时可用。我正在尝试实现一个过程,当用户选择项目时,在1400个项目的列表中说项目编号1257。活动应该改变,但是当用户返回时我希望重新显示该项目而不必滚动浏览1256项目来获取它当前我使用smoothScrollToPosition来获取项目但是它做的是滚动本身并且它需要几个到达那里的几秒钟。

我确实尝试过setposition但它从来没有对我有效。

这是正常的过程还是有一种方法可以直接跳到那里而无需单独观看应用滚动。

总的来说,它确实比我滚动它时更快,但是在经历了许多项目时,我希望有更好的解决方案。

任何想法 这是我所在的listview

的代码
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);
    }
});

我是在正确的地方做这件事吗

1 个答案:

答案 0 :(得分:0)

您应该使用setSelection(int position)

e.g。

 list1.setSelection(1258);