android:transcriptMode="alwaysScroll"  

解决方案 »

  1.   

    楼主你有没有给你的ListView设置adapter呢,直接对adapter里使用到的数据进行修改就可以了吧?比如ArrayAdapter的话,把你使用的array保留最后一项,然后用notifyDataSetChanged()方法;CursorAdapter的话,用Curor.moveToLast(),然后再notifyDataSetChanged(),思路差不多就这样了啦。
      

  2.   

    我绑定的是继承baseAdapter的适配器,数据是从数据库中查询的,从一个界面跳到这个界面的时候,完全不需要更新啊。
      

  3.   

    listView.setselection(listView.getBottom)
    或者
    listView.setselection(adapter.getCount())adapter是你的baseAdapter对像。
      

  4.   

    这是我的代码:lv_messages = (ListView) findViewById(R.id.lv_messages);
    adapter = new MyBaseAdapter();
    lv_messages.setAdapter(adapter);
    lv_messages.setDivider(null);
    lv_messages.setOnItemClickListener(this);
    lv_messages.setSelection(lv_messages.getBottom());不管用楼上的那个方法都不好使的说。之前我也用过了。就是不知道问题出在哪 恼火啊!
      

  5.   

    ListView在布局文件中用最简单的方式设置,多余参数去除:
    <ListView android:id="@+id/listview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="left" />listview.setSelection(adapter.getCount())
    或者
    listview.setSelection(listview.getBottom)
    的作用是,将listview中的滚动条位置拉到最底部楼主虽然将绑定了adapter,但如果adapter中没有数值,也就是未初始数值的话,上面2条语句是没有用的。从代码中可以看出,楼主是在未给adapter初始值的时候就执行了这个语句,因此无效。正确的方法,应该是在
    adapter.notifyDataSetChanged();后面添加listview.setSelection(adapter.getCount())这条语句
      

  6.   

    我的xml文件<ListView
            android:id="@+id/lv_messages"
            android:layout_width="fill_parent"
            android:layout_height="0dip"
            android:layout_marginTop="10dip"
            android:cacheColorHint="#DBE1ED"
            android:background="@drawable/reply_select"
            android:listSelector="@drawable/reply_select"
            android:layout_weight="1" />这些是必须有的。
    代码这里:
    adapter = new MyBaseAdapter();
    lv_messages.setAdapter(adapter);
    lv_messages.setDivider(null);
    lv_messages.setOnItemClickListener(this);
    adapter.notifyDataSetChanged();
    lv_messages.setSelection(adapter.getCount()-1);
    int fh = adapter.getCount();发现输出的时候 fh为0 。有没有可能是因为这个方法写在oncreate()里面的问题?也不应该啊?
      

  7.   

    看重点:楼主虽然将绑定了adapter,但如果adapter中没有数值,也就是未初始数值的话,上面2条语句是没有用的。从代码中可以看出,楼主是在未给adapter初始值的时候就执行了这个语句,因此无效。正确的方法,应该是在
    adapter.notifyDataSetChanged();后面添加listview.setSelection(adapter.getCount())这条语句
      

  8.   

    弱弱的问下,5楼的那段代码里面我已经刷新了adapter
      

  9.   

    弱弱的回答一下,你5楼的代码只是让listview绑定adapter,但是adapter绑定数据的代码在哪呢?找到adapter绑定数据的代码,在这个代码后面再用:
    adapter.notifyDataSetChanged();
    listview.setSelection(adapter.getCount());
      

  10.   

    终于找到那个方法了。。我去改别人的代码真心伤不起,一个方法有4000行,,就一个oncreate
      

  11.   

    我遇到同样的问题,大概是这样的:
    .setSelection(adapter.getCount());
    可以实现进去后就是翻看最后一条。但是当长按手机的MENU键清除掉所有开着的应用后,再点这个应用进去看,还是显示的最上面一条。但是若是点返回键返回后再点进来看,则是正常的
      

  12.   

    android:stackFromBottom="true" 然后
    ListView设置成wrap_content就行了;
    试过了,是可以的