Android - ListView的String Array

时间:2013-04-29 05:46:46

标签: java android listview android-listview arrays

我是Android新手。请帮我。我有两个字符串数组如下:

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 个答案:

答案 0 :(得分:0)

按以下方式声明字符串数组。

改变这个:

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

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

您可以使用自定义列表视图

执行此操作

检查HERE

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

为此,您必须使用BaseAdapter作为listView的适配器。在基础Adapter类中为自定义View提供两个文本视图。然后将该适配器设置为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;
  }


 }

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

答案 3 :(得分:0)

您可以将两个数组包装到HashMap对象中,然后只使用SimpleAdapter。