可能重复:
Is it possible to have a spinner and a list view on the same page?
我希望在视图的顶部有一个微调器,然后根据用户从微调器中选择的内容在微调器下面生成一个列表视图,是否有人知道这个的好教程或者有一些代码放在那个可能有帮助?
我通过扩展ListActivity成功使用ListView,但是在这种情况下我想在视图中使用除ListView以外的东西,所以我不知道该怎么办?
答案 0 :(得分:1)
首先,您可以为活动创建布局,例如(layout_with_spinner):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:orientation="vertical"
android:id="@+id/layout1">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="40dip"
android:layout_height="wrap_content"
android:text="some text"/>
<Spinner
android:layout_width="150dip"
android:layout_height="fill_parent"
android:id="@+id/spinner1" />
</LinearLayout>
<ListView
android:id="@+id/list_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</ListView>
</LinearLayout>
然后您可以创建从Activity
扩展的类public class YourCoolActivity extends Activity
{
private Spinner mSpinner;
private ListView mList;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_with_spinner);
mSpinner= (Spinner)findViewById(R.id.spinner1);
mList = (ListView)findViewById(R.id.list_view);
//here create some adapter.
mSpinner.setAdapter(yourAdapter);
//set listener on select
mSpinner.setOnItemSelectedListener(new OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id)
{
//here you can populate list with data
//create new list adapter depended on (YourObjectModel)mSpinner.getSelectedItem()
// or pos
mList.setAdapter(newListAdapter);
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
}
});
}
}
也许它有助于开始。你可以看看这个 sample查看关于微调器的一些示例