压倒一切的Adapter.getView [英] overriding Adapter.getView
问题描述
我是新来的Android编程和做带适配器的第一个步骤(对于的ListView
)。
I'm new to android programming and doing the first steps with Adapters (for a ListView
).
重写 Adapter.getView
我经常看到这样的事情:
Overriding the Adapter.getView
I often see things like this:
public View getView(int position, View convertView, ViewGroup parent) {
View itemView = null;
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) parent.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
itemView = inflater.inflate(R.layout.table_row, null);
} else {
itemView = convertView;
}
// play with itemView
return itemView;
}
我的问题是说反对这样的:
My question is what speaks against this:
public View getView(int position, View convertView, ViewGroup parent) {
View itemView = super(position, convertView, parent);
// play with itemView
return itemView;
}
这似乎为我工作,但我敢肯定有一个大点我错过:D
This seems to work for me but I'm sure there's a big point I'm missing :D
感谢您的阅读,对不起我的英文不好...
Thanks for reading and sorry for my bad english ...
推荐答案
您可以使用
View itemView = super(position, convertView, parent);
如果只有你是从派生准备使用适配器(未 BaseAdapter
),如 SimpleAdapter
或 ArrayAdapter
,因为它们的已的有他们实施的 getView()
。
if only you are deriving from "ready to use" adapters (not BaseAdapter
), like SimpleAdapter
, or ArrayAdapter
, as they already have their implementation for the getView()
.
看一看他们:<一href="http://grep$c$c.com/file/repository.grep$c$c.com/java/ext/com.google.android/android/4.0.4_r2.1/android/widget/ArrayAdapter.java#361" rel="nofollow">http://grep$c$c.com/file/repository.grep$c$c.com/java/ext/com.google.android/android/4.0.4_r2.1/android/widget/ArrayAdapter.java#361对于一个ArrayAdapter,并 <一href="http://grep$c$c.com/file/repository.grep$c$c.com/java/ext/com.google.android/android/4.0.4_r2.1/android/widget/SimpleAdapter.java#113" rel="nofollow">http://grep$c$c.com/file/repository.grep$c$c.com/java/ext/com.google.android/android/4.0.4_r2.1/android/widget/SimpleAdapter.java#113为SimpleAdapter。
Have a look at them: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.4_r2.1/android/widget/ArrayAdapter.java#361 for the ArrayAdapter, and http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.4_r2.1/android/widget/SimpleAdapter.java#113 for SimpleAdapter.
如果您在 BaseAdapter
导出,你必须manualy实现整个方法,如你在第一个例子中所描述的,因为它没有出来的盒子:<一href="http://grep$c$c.com/file/repository.grep$c$c.com/java/ext/com.google.android/android/4.0.4_r2.1/android/widget/BaseAdapter.java#BaseAdapter" rel="nofollow">http://grep$c$c.com/file/repository.grep$c$c.com/java/ext/com.google.android/android/4.0.4_r2.1/android/widget/BaseAdapter.java#BaseAdapter
If you derive from BaseAdapter
, you will have to manualy implement the whole method, as you've described in the first example, because it does not have it out of the box: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.4_r2.1/android/widget/BaseAdapter.java#BaseAdapter
这篇关于压倒一切的Adapter.getView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!