Android适配器跨多个listview的传播结果

时间:2013-12-14 20:59:00

标签: android android-listview

如何在多个listview中显示一个适配器的结果? 目前我可以使用一个适配器填充所有列表视图:

private ListView List;
private ListView List2;
MyAdapter  adapter;
MyAdapter MA = (MyAdapter) List.getAdapter();
                ArrayList<HashMap<String, String>> Result = new ArrayList<HashMap<String, String>>();
    Result = MA.getData();
    adapter = new Custume_LazyAdapter(targetCtx, Result);
                    List.setAdapter(adapter);
                    List2.setAdapter(adapter);

和MyAdapter类:

public class MyAdapter extends BaseAdapter {

    private Activity activity;
    private ArrayList<HashMap<String, String>> BigData;
  public MyAdapter(Activity activityinput, ArrayList<HashMap<String, String>> ArrayInput) {
        activity = activityinput;
        BigData=ArrayInput;
    }
        public ArrayList<HashMap<String, String>> getData(){
        return Bigdata;
    }

和布局:

     <LinearLayout
         android:id="@+id/ase"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal">

     <ListView
         android:id="@+id/list"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent"
         android:layout_weight="1"
         android:paddingRight="1dp"
         android:scrollbars="none" />

      <ListView
          android:id="@+id/list2"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:layout_weight="1"
          android:paddingRight="1dp"
          android:layout_marginTop="10dp"/>

            </LinearLayout>

这是列表中项目的顺序以及它应如何在布局中显示:

Order OF listview in layout

1 个答案:

答案 0 :(得分:1)

  

如何在多个listview中显示一个适配器的结果?

你没有。您可以创建两个适配器,每个适配器都包含ListView的正确信息。

  

和MyAdapter类:

ArrayList<HashMap<String, String>>拆分为两个ArrayList<HashMap<String, String>>个实例,每个实例都有正确的一半值。然后,您创建两个MyAdapter个实例,每个实例用于一个新ArrayList<HashMap<String, String>>个实例,并在两个MyAdapter小部件中分别放置一个ListView