gpt4 book ai didi

Android 2.3.3 ListView停止垂直滚动

转载 作者:行者123 更新时间:2023-11-29 21:55:30 25 4
gpt4 key购买 nike

我有一个简单的应用程序,我为了学习来自 .Net 世界的 Java/android 而编写的。在这个应用程序中,我有一个 ListView。 ListView 绑定(bind)到一个集合并按应有的方式显示所有内容。我有一个允许用户导航的下一个和上一个按钮,这些按钮也可以工作。

我想要阻止的是用户滚动列表的能力。我希望他们使用导航按钮。我在想当用户滚动时一定会引发一些事件。我打算拦截那个事件并“吞下”它。在寻找这些事件时,我遇到了 SetScrollContainer(false)。问题是做任何事情似乎都无关紧要。我仍然可以垂直滚动

所以我的最终问题是使用 SetScrollContainer 还是拦截事件或其他选项是如何最好地禁用 ListView 中的用户滚动?

我还看到一篇晦涩的文章,说要实现一个听起来像继承的自定义 ListView。我对这个概念很满意,但不确定是否真的需要这种复杂性?

TIAJB

下面评论中讨论的代码:

//Get a handle on our ListView
lstvw_LiftData = (ListView)findViewById(R.id.lstvw_LiftData);

lstvw_LiftData.setOnTouchListener(new OnTouchListener()
{

public boolean onTouch(View v, MotionEvent event)
{
if (event.getAction() == MotionEvent.ACTION_MOVE)
{
return true; // Indicates that this has been handled by you and will not be forwarded further.
}
return false;
}
}
);

setOnTouchListener error

最佳答案

我在一个小测试项目中编写的代码,用于禁用 ListView 上的滚动:

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ListView lv = (ListView) findViewById(R.id.listV);
String[] items = new String[10];

for (int i = 0; i < 10; i++) {
items[i] = "Item " + (i+1);
}
lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items));
lv.setOnTouchListener(new OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_MOVE) {
return true;
}
return false;
}

});
}
}

玩得开心。

关于Android 2.3.3 ListView停止垂直滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13345459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com