我现在在ListActivity中有一个非常简单的ListVIEw,它仅显示文本值列表.这是我当前的代码:
public class InfoActivity extends ListActivity { @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); List<String> values = new ArrayList<String>(); // loads up the values array here // ... ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, androID.R.layout.simple_List_item_1, values); setlistadapter(adapter); }
我的InfoActivity XML文件中没有任何内容,因为我正在使用ListActivity.
我想做的是为行创建自定义布局.前5行将具有layoutA.xml,后5行将具有layoutB.xml.
我该怎么做呢?我不知道该从哪里开始.显然,我正在寻找最简单的代码.
解决方法:
这很容易,您只需要扩展ArrayAdapter.我的ArrayAdapter做两件事的方式有所不同:
>我的适配器采用了一组ResourceID,而不是传递一个ResourceID
> getVIEw()检查位置并加载适当的资源
这是一个简单的例子.如果您计划使其比上半部分看起来更复杂而下半部分有所不同,那么您应该覆盖getViewTypeCount()和getItemViewType().
工作示例:
public class Example extends Activity { public class MyArrayAdapter<T> extends ArrayAdapter<T> { LayoutInflater mInflater; int[] mLayoutResourceIDs; public MyArrayAdapter(Context context, int[] textVIEwResourceID, List<T> objects) { super(context, textVIEwResourceID[0], objects); mInflater = (LayoutInflater)context.getSystemService (Context.LAYOUT_INFLATER_SERVICE); mLayoutResourceIDs = textVIEwResourceID; } @OverrIDe public VIEw getVIEw(int position, VIEw convertVIEw, VIEwGroup parent) { if (convertVIEw == null && position > 2) convertVIEw = mInflater.inflate(mLayoutResourceIDs[1], parent, false); return super.getVIEw(position, convertVIEw, parent); } } @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String[] array = new String[] {"one", "two", "three", "four", "five", "six"}; List<String> List = new ArrayList<String>(); Collections.addAll(List, array); ListVIEw ListVIEw = new ListVIEw(this); ListVIEw.setAdapter(new MyArrayAdapter<String>(this, new int[] {androID.R.layout.simple_List_item_1, androID.R.layout.simple_List_item_single_choice}, List)); setContentVIEw(ListVIEw); }}
总结 以上是内存溢出为你收集整理的java-ListView在Android中可以有两种或多种不同类型的行布局吗?全部内容,希望文章能够帮你解决java-ListView在Android中可以有两种或多种不同类型的行布局吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)