覆盖getvIEw方法时,我总是收到错误消息.这就是我所拥有的:
公共类UnwatchedEpisodesActivity扩展了ListActivity {
private String[] values = new String[]{"Row 1", "Row 2", "Row 3"};public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.episode_main); setlistadapter(new Episodelistadapter());}private class Episodelistadapter extends ArrayAdapter<String>{ private LayoutInflater li = LayoutInflater.from(this.getContext()); public Episodelistadapter(){ super(UnwatchedEpisodesActivity.this, 0, values); } @OverrIDe public VIEw getVIEw(int position, VIEw convertVIEw, VIEwGroup parent) { if(convertVIEw == null){ convertVIEw = li.inflate(R.layout.episode_row, parent, false); } ((TextVIEw) convertVIEw.findVIEwByID(R.ID.text1)).setText(values[position]); return convertVIEw; }}
而我的xml是这样的:
<?xml version="1.0" enCoding="utf-8"?><linearLayout androID:ID="@+ID/ep_layout" androID:layout_wIDth="fill_parent" androID:layout_height="fill_parent" androID:orIEntation="vertical" xmlns:androID="http://schemas.androID.com/apk/res/androID"> <TextVIEw xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:ID="@androID:ID/text1" /></linearLayout>
(我也尝试过没有linearlayout,这没有区别)
我得到this error.
你们有什么主意吗?
还有另一个问题:
如果我想将组中的值分开,该怎么办?我希望列表显示如下内容:
-----------first part-----------Row 1Row 2-----------second part-----------Row 3
显然,这只是一个例子.基本上我想知道如何添加那些“分隔符”
解决方法:
使用androID:ID =“ @ ID / text1”代替
androID:ID =“ @ androID:ID / text1”作为第一部分.
对于第二期,据我对您的需求的了解:
您应该为getVIEw()方法中的不同位置充气不同的xml.
例如:
if (position == 0) { convertVIEw = li.inflate(R.layout.episode_row, parent, false); //fetch the text vIEw and other things and set their value return convertVIEw;} else if (position == 1) { //similarly do here also and return convertvIEw}
希望这将有助于解决您的问题.
总结以上是内存溢出为你收集整理的java-覆盖getView()的问题全部内容,希望文章能够帮你解决java-覆盖getView()的问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)