小编Gle*_*enn的帖子

如何滚动到长ScrollView布局的顶部?

对于我的部分应用,会向用户显示一个名称列表,并要求他们按照自己的意愿对其进行分组.

(注意,ListView代码是从Android视图教程中逐字复制的.我还没有根据我的需要对其进行定制,我只想弄清楚如何使其工作.)

基本布局是一个LinearLayout,包含一个ScrollView(在下面的代码中称为"groupsScrollView"),包含一个RelativeLayout.我有一些按钮和文本,然后是我的ListView,它显示了名称列表.所有这一切都高于可见屏幕区域,因此允许用户垂直滚动以查看所有内容.

这一切都很漂亮,除非页面加载时总是预先滚动到我的ListView顶部 - 在页面中间.我创建的文本和按钮告诉用户该做什么是不可见的.

我可以抓住屏幕并向上滚动,这很好用,但我希望屏幕加载已经滚动到顶部.用户不必向上滚动以查看新加载页面的顶部.但我尝试以编程方式滚动到屏幕顶部的所有内容都失败了.

这是我的onCreate方法:

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.groups);

    mainScrollView = (ScrollView)findViewById(R.id.groupsScrollView);

    //get the Bundle out of the Intent...
    Bundle extras = getIntent().getExtras();
    mNames = extras.getStringArray("mNames");

    setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, mNames));

    ListView lv = getListView();
    lv.setTextFilterEnabled(true);

    //This is the line I'm having issues with
    mainScrollView.pageScroll(View.FOCUS_UP);

    lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
          // When clicked, show a toast with the TextView text
          Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
              Toast.LENGTH_SHORT).show();
        }
      }); …
Run Code Online (Sandbox Code Playgroud)

android listview scrollview

156
推荐指数
12
解决办法
15万
查看次数

标签 统计

android ×1

listview ×1

scrollview ×1