Android listview如何将所选项目滚动到顶部

use*_*775 2 android android-layout android-activity

我想在Android中创建一个ListView.当我点击某个项目时,我希望它将其滚动到顶部.我怎样才能做到这一点?这是我正在尝试的Activity类,项目选择工作正常,但它不会滚动到顶部

public class MyListActivity extends ListActivity {
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
        "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
        "Linux", "OS/2" };
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1, values);
        setListAdapter(adapter);
    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        String item = (String) getListAdapter().getItem(position);
        //l.setSelection(2);

        Toast.makeText(this, position + " selected", Toast.LENGTH_LONG).show();
        //l.smoothScrollToPosition(5);

    }
}
Run Code Online (Sandbox Code Playgroud)

Ada*_*dam 12

用这个.将项目平滑地滚动到列表视图的顶部.

int duration = 500;  //miliseconds
int offset = 0;      //fromListTop

listview.smoothScrollToPositionFromTop(position,offset,duration);
Run Code Online (Sandbox Code Playgroud)
  • 减少持续时间以使滚动更快