0

在以下项目中,这是示例

添加新项目后,我正在使用.notifyDataSetChanged();此方法.post(new Runnable(){向下滚动

 private void addItemsToList() {  
           int randomVal = MIN + (int) (Math.random() * ((MAX - MIN) + 1));  
           mItems.add(String.valueOf(randomVal));  
           mListAdapter.notifyDataSetChanged(); 

           mCompleteListView.post(new Runnable(){
              public void run() {
                  mCompleteListView.setSelection(mCompleteListView.getCount() - 1);
              }}); 
      }  


public class ReceiverThread extends Thread {
     String line;
     String name;

     ReceiverThread(String name, String line){
         this.line=line;
         this.name=name;

     }

     public void run() { 
     OpenStream.this.runOnUiThread(new Runnable() {

                public void run() {
                    addItemsToList();}}}}

但是当我想使用手指向上滚动时,以编程方式添加的新项目会将列表视图向下滚动。

.post(new Runnable()当我触摸屏幕并使用手指滚动时如何启动?或者当我触摸屏幕时我该怎么做才能不让列表视图向下滚动?

4

1 回答 1

1

我已经添加了这段代码,现在当我触摸 listview 时,没有向下滚动

 mCompleteListView.setOnTouchListener(new OnTouchListener() { 

    @Override 
    public boolean onTouch(View v, MotionEvent event) { 

    if (event.getAction() == MotionEvent.ACTION_UP) { 
    flag = true; 
    Log.e(MainActivity.tag,"onTouch "+flag); 
    }else{ 
    flag = false; 
    Log.e(MainActivity.tag,"onTouch "+flag); 
    } 

    return false; 
    } 
    });
于 2013-11-29T08:27:06.897 回答