1

在 Android 上使用适配器的最佳方式是什么?我们可以将它用于几个自定义操作。通过使用适配器,我们将包含一些预先实现的方法。我应该什么时候使用这些方法?我们如何通过使用 Adapter 实现的方法来提高应用程序的性能?

public int getCount() {
        // TODO Auto-generated method stub
        return country.length;
    }

    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }
}
4

3 回答 3

2

查看此示例示例和链接

public class GridDemo extends Activity implements AdapterView.OnItemClickListener {
    private TextView selection;
    private static final String[] items={"lorem", "ipsum", "dolor", "sit", "amet", "consectetuer", "adipiscing", "elit", "morbi", "vel", "ligula", "vitae", "arcu", "aliquet", "mollis", "etiam", "vel", "erat", "placerat", "ante", "porttitor", "sodales", "pellentesque", "augue", "purus"};

    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        selection=(TextView)findViewById(R.id.selection);
        GridView g=(GridView) findViewById(R.id.grid);
        g.setAdapter(new ArrayAdapter<String>(this, R.layout.cell, items));
        g.setOnItemClickListener(this);
    }

    public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
        selection.setText(items[position]);
    }
}

你可以得到这个适配器的想法..

于 2012-12-12T05:48:01.670 回答
1

BaseAdapter是简单使用ListViewor的绝佳选择GridView。但是如果你想从数据库中获取数据,aCursorAdapter更适合,尽管文档说这是用于ListView. 因此,如果在显示从数据库中获取的数据时既要两者又要使用,那么 aSimpleCursorAdapter将是您使用的另一种类型。但是当然知道你的实现会帮助我更好地给你最好的选择。ListViewGridView

我还应该补充一下,因为我在其中一个评论上看到了它,ArrayAdapter基本上是 a BaseAdapter,但不同之处在于它需要任意对象的数组,也就是最适合直接开箱即用的数组。

于 2012-12-03T04:52:32.513 回答
0

getCount() 是必须的。它告诉 ListView、GridView 等要显示多少项目。getItem() 和 getItemId() 在许多情况下(如果您通过自己的代码实现 getView())实际上是可选的,它们只是辅助方法。有一些方法是适配器的基本方法,它对性能提升没有帮助。我认为getView()的实现效果表现最好。

于 2012-12-03T04:58:48.283 回答