【问题标题】:How can I get baseadapter to start at a different position than 0 or 1如何让 baseadapter 从不同于 0 或 1 的位置开始
【发布时间】:2015-10-14 22:53:05
【问题描述】:

我有一个 baseadapter,它总是从最顶部的位置 0 或 1 开始,但有什么方法可以让我的 Baseadapter 从位置 5 开始?我一直在这里搜索,但没有找到相关信息,这是我的 baseadapter,是的,它连接到 listview,但我知道 listview 开始的位置由 BaseAdapter 控制

public class myadapter extends BaseAdapter {

    Context context;
    LayoutInflater myiflater;
    public myadapter() {

        myiflater = (LayoutInflater) c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }


    @Override
    public int getCount() {
  return 20;



    }

    @Override
    public Object getItem(int position) {
        return 5;
    }

    @Override
    public long getItemId(int position) {
        return 5;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

// all of this is already correct
        } 
catch (Exception e) {
            e.printStackTrace();
        }
        return convertView;
          }
        return convertView;
    }
}

如您所见,我尝试将起始位置设置为 5,但它不起作用。

【问题讨论】:

    标签: java android-listview baseadapter getview


    【解决方案1】:

    使用您的 ListView 执行此操作:

    mListView.setSelection(5);
    

    setSelection() 通过适配器设置 ListView 的当前位置。你尝试的方式没有意义。对于 getItem() 方法,您应该返回对象,而不是位置的数值。让我知道这是否有效

    【讨论】:

    • 好的,现在问题很高兴为您提供帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-07
    相关资源
    最近更新 更多