2011-12-07 21 views
0

可能性の重複:
Is it possible to have a spinner and a list view on the same page?スピナーとリストビューを同じビューに表示できますか?

私は、ビューの一番上にスピナーを持ちたいし、ユーザーから選択したものによると、スピナー下のリストビューを生成スピナー、誰かがこれのための良いチュートリアルを知っているか、その周りにあるいくつかのコードが役立つかもしれないがありますか?

ListActivityを拡張してListViewを使用して成功しましたが、この場合、ListView以外のものを表示したいので、何をすべきかわかりません。

答えて

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> 

、その後、あなたは活動

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) 
     {   
     }   
    }); 

    } 
} 

から拡張クラスはたぶんそれが起動するのに役立ちます作成することができます。この ​​を見ればスピナーについてのサンプルがご覧になれます

+0

ありがとうございました。 – wbarksdale

関連する問題