在以下项目here is example
中我正在使用.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()
?或者当我触摸屏幕时,我该怎么办才能让listview向下滚动?
答案 0 :(得分: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;
}
});