具有下拉微调器的MultiColumn列表

时间:2012-10-25 12:02:09

标签: android

我有一个mutlicolumn列表,其中我还希望其中一列包含一个下拉微调器。

我的main.xml是: -

<!-- main.xml -->
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/SCHEDULE" android:layout_width="wrap_content" android:layout_height="wrap_content">
</ListView>

我的行xml是

<LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:paddingTop="4dip"
     android:paddingBottom="6dip"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:orientation="horizontal">

     <TextView android:id="@+id/LEVEL_CELL"
         android:layout_width="50dip"
         android:layout_height="wrap_content"/>    

     <TextView android:id="@+id/ACTION_CELL"
         android:layout_width="50dip"
         android:layout_height="wrap_content"/>


<Spinner
    android:id="@+id/fromTables"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />   

</LinearLayout>

这是我的逻辑: -         super.onCreate(savedInstanceState);         的setContentView(R.layout.row);

    fromTablesSpinner = (Spinner) findViewById(R.id.fromTables);

    setContentView(R.layout.main);

    ListView list = (ListView) findViewById(R.id.SCHEDULE);

    ArrayList<String> tables = new ArrayList<String>();

    tables.add("MARA");
    tables.add("MARC");
    tables.add("MARD");

    ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
    HashMap<String, String> map = new HashMap<String, String>();
    map.put("level", "1");
    map.put("action", "INNER JOIN");
    map.put("tables", "MARA");
    map.put("tables", "MARC");
    mylist.add(map);
    map = new HashMap<String, String>();
    map.put("level", "2");
    map.put("action", "OUTER JOIN");
    map.put("tables", "MARA");
    map.put("tables", "MARC");
    mylist.add(map);

    SimpleAdapter mSchedule = new SimpleAdapter(this, mylist, R.layout.row,
            new String[] { "level", "action" }, new int[] {
                    R.id.LEVEL_CELL, R.id.ACTION_CELL });

    list.setAdapter(mSchedule);
}

使用SimpleAdapter不允许我绑定到微调器视图。

非常感谢任何帮助。

由于

马丁

1 个答案:

答案 0 :(得分:0)

你正在尝试两件复杂的事情。请按照以下步骤操作:

1)学习构建一个自定义适配器,在一个列表中显示多种类型的视图。这将帮助您在列表中显示微调器。

链接:http://www.ezzylearning.com/tutorial.aspx?tid=1763429 Android ListView with different layouts for each row

2)学会处理不同的观点和听众。

链接:Listview with TextView and Button. RowId of the clicked button(btnButtonOFF.setOnClickListener(new ItemClickListener(cur.getInt(idRow)));)

3)使用您正在使用的多个ListView。