我有一个带有 ArrayAdapter 的 Spinner,可以将值输入其中。该视图的布局如下所示:
<TextView
android:text="Household Income: "
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center_vertical" />
<Spinner
android:id="@+id/incomespinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="2dip" />
问题在于文本太渴望视图,结果是一个非常非常难看的旋转器。从截图中可以看出:
(source: janusz at janusz.de http://janusz.de/~janusz/spinner.png)
我尝试将我自己的 TextView 的 Id 传递到适配器中,但每次应该显示微调器时,我都会收到一个异常,表明我提供的 Id 无效:
04-26 17:38:39.695: ERROR/AndroidRuntime(4276): android.content.res.Resources$NotFoundException: Resource ID #0x7f09003a type #0x12 is not valid
我必须在哪里定义 TextView?在单独的 xml 文件中?有周围的视图组吗?
如果我能看到适配器初始化和文本视图定义的示例,这会对我有很大帮助吗?
重写 Adapter 的 getView 方法来创建自定义列表视图项。
View getView(int position, View convertView, ViewGroup parent) {
TextView tv = null;
if(covertView instanceof TextView) {
tv = (TextView) convertView;
} else {
tv = new TextView(this);
tv.setText("Awesome Text");
}
return tv;
}
此外,当您创建适配器时,您可以传入用于该项目的布局,因此在这种情况下 ConvertView 将是relativelayout 或 Linearlayout。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)