【问题标题】:How to use getview() with a SimpleAdapter in Android?如何在 Android 中将 getview() 与 SimpleAdapter 一起使用?
【发布时间】:2014-04-07 05:50:11
【问题描述】:

我正在使用SimpleAdapter 生成ListView。我的SimpleAdapter代码如下:

ListAdapter k = new SimpleAdapter(this, val1, R.layout.mytask, new String[]{"TaskId", "heading", "status"}, new int[]{R.id.View1, R.id.View2, R.id.ViewStatus}); 

我的活动是MainActivity,其中extends Activity。 我想override getview() 方法。我怎样才能做到这一点?

【问题讨论】:

  • 取一个扩展 Simplaeadapter 的类并覆盖 getView() 方法
  • 我想把它作为一个活动本身。那么还有其他建议吗?
  • 它将保留在您的活动中,您只需使用自己的。

标签: android listview view simpleadapter


【解决方案1】:

你可以这样做:

ListAdapter k = new SimpleAdapter(...) {
    @Override
    public View getView (int position, View convertView, ViewGroup parent) {
        View view = super.getView(position, convertView, parent);
        ...
        return view;
    }
}

【讨论】:

  • 很好的答案。完美运行
【解决方案2】:

试试这个,

  public class Adapter extends SimpleAdapter{
        HashMap<String, String> map = new HashMap<String, String>();
        public Adapter(Context context, List<? extends Map<String, String>> data,
                int resource, String[] from, int[] to) {
            super(context, data, resource, from, to);
        }
    @Override
        public View getView(int position, View convertView, ViewGroup parent){


          // You can customize here.

        }

    }

你可以调用类似这样的东西,而不是调用new SimpleAdapter

 Adapter mAdapter = new Adapter(params);

将这个类作为你的活动本身的子类,

【讨论】:

    【解决方案3】:

    创建扩展 SimpleAdapter 的类并覆盖它的方法。不要忘记处理构造函数并调用 super(...)

    【讨论】:

    • 不扩展 SimpleAdapter 是不可能的,因为我想把它作为一个 Activity 本身
    • 它仍然会在你的活动中,只是代替 SimpleAdapter mAdapter,它将是 CustomSimpleAdapter mAdapter :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-27
    • 1970-01-01
    相关资源
    最近更新 更多