0

我是安卓新手。请帮我。我有两个字符串数组,如下所示:

String[] Array1 = {"ele1", "ele2", "ele3", "ele4", "ele5", "ele6"};
String[] Array2 = {"obj1", "obj2", "obj3", "obj4", "obj5", "obj6"};

我的布局中有一个列表视图,如下所示:

<ListView 
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:id="@+id/lytlistView"
 android:layout_marginTop="4dp"
 android:layout_marginLeft="6dp"
 android:layout_marginRight="6dp"
 android:layout_below="@+id/lytListView">
</ListView>

现在我想为 listview 添加两个字符串数组的值,如下所示:

-------------------------
listHeader1
listContent1
-------------------------
listHeader2
listContent2
-------------------------
listHeader3
listContent3
-------------------------

所以,listHeader[1,2,3,..]包含Array1[]元素和listContent[1,2,3,....]包含Array2[]元素

我怎样才能做到这一点?请帮我。

4

4 回答 4

0

您可以将两个数组包装成一个 HashMap 对象,然后简单地使用 SimpleAdapter。

于 2013-04-29T06:35:09.913 回答
0

要使用 aListView您需要有一个适配器。一种方法是将您的两个数组转换为单个数组 {"ele1", "obj1" ...} 并使用ArrayAdapter. 另一种方法是编写自己的适配器。

如果您不熟悉ListView适配器并将其与适配器一起使用,我推荐以下指南:

http://developer.android.com/guide/topics/ui/declaring-layout.html#AdapterViews

于 2013-04-29T05:58:48.007 回答
0

为此,您必须使用 BaseAdapter 作为 listView 的适配器。膨胀一个在您的基础适配器类中有两个文本视图的自定义视图。然后将该适配器设置为您的 listView。

      public class YourAdapter extends BaseAdapter {

Context mContext;
ArrayList<ClubDetailContent> mArrayList;

public ClubListAdapter(Context mContext,
        ArrayList<ClubDetailContent> mArrayList) {
    // TODO Auto-generated constructor stub
    this.mContext = mContext;
    this.mArrayList = mArrayList;
}

public int getCount() {
    // TODO Auto-generated method stub

    return mArrayList.size();
}

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

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

public View getView(final int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    LayoutInflater layoutInflater = (LayoutInflater) mContext
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View view = convertView;
    view = layoutInflater.inflate(R.layout.listlayout, parent, false);
    //Add your text view here
            //set text to that textView according to your string

    return view;
  }


 }

然后在主要活动中设置适配器。

于 2013-04-29T06:01:49.013 回答
0

如下声明字符串数组。

改变这个:

String[] Array1 = [ele1, ele2, ele3, ele4, ele5, ele6];

String[] Array1 = {"ele1", "ele2", "ele3", "ele4", "ele5", "ele6"};

您可以使用自定义列表视图来执行此操作,

检查这里

于 2013-04-29T05:51:46.013 回答