我有一个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不允许我绑定到微调器视图。
非常感谢任何帮助。
由于
马丁
答案 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。