0

我需要实现具有自动滚动功能的列表视图,直到列表中最后看到的位置意味着当我第二次运行该活动时,它应该必须自动滚动到最后看到的位置。

在安卓中可以吗?我通过下面的数组适配器代码实现了我的列表:

    setListAdapter(new QuestionsArrayAdapter(this, SUBJECT, AUTHOR, RESPONCES, DATETIME, NEWPOST, LOGOIMAGE));

QuestionArratAdapter 类是:

      public class QuestionsArrayAdapter extends ArrayAdapter<String> {



      public QuestionsArrayAdapter(Context context, String[] questions,
        String[] author, String[] responces, String[] dateTime,
        String[] newPost, String[] logoImage) {
    super(context, R.layout.questionscreen, author);
    this.context = context;
    this.questions = questions;
    this.author = author;
    this.responces = responces;
    this.dateTime = dateTime;
    this.newPost = newPost;
    this.logoImage = logoImage;
    
      imageLoader=new ImageLoader(context.getApplicationContext());
      
    
}

  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    
    
    //System.out.println(s);

    //imageView.setImageResource(R.drawable.image_preview);
    return rowView;
}
4

2 回答 2

2

您可以在离开活动时保存最后看到的位置;

int position = yourListView.getFirstVisiblePosition();

然后,当你第二次来到你的活动时,你可以像这样使用列表视图的平滑滚动方法,

yourListView.smoothScrollToPosition(position);

this.getListView()在您使用的情况下,您可以使用代码获取 yourListViewListActivity

于 2012-08-08T07:36:49.710 回答
0

listview当您第二次打开活动时使用此属性

public void smoothScrollToPosition (int position)

在代码中

listview.smoothScrollToPosition(pos)

查看此文档以获取列表视图

于 2012-08-08T07:35:47.957 回答