2015-10-01 107 views
-2

我想爲我的應用程序創建一個語言選擇器。我在菜單佈局中創建了一個按鈕,並且在單擊某個選項菜單時我想要打開微調框。我是初學者,所以如果你能解釋你的答案,我很樂意。android |從菜單按鈕創建對話框微調按鈕

+0

Android已經在紗廠指南內下面的方法:http://developer.android.com/guide/topics/ui /controls/spinner.html – RobVoisey

+0

[微星在android]中可能的重複(http://stackoverflow.com/questions/12892782/spinner-in-android) –

回答

0

首先你必須創建一個XML佈局在您的微調元素會被放置

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="vertical" 
     android:padding="10dip" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 



<!-- Spinner Element --> 
<Spinner 
    android:id="@+id/spinner" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:prompt="Select Language" 
/> 

</LinearLayout> 

然後我你的活動在那裏你想顯示剪斷你應該實現OnItemSelectedListener接口處理微調

public class SnipperActivity extends Activity implements OnItemSelectedListener{ 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    //here you get the reference to the spinner element declared in your xml layout 
    Spinner spinner = (Spinner) findViewById(R.id.spinner); 


    //set the listener to the spinner 
    spinner.setOnItemSelectedListener(this); 

//here you create an arraylist for the items to be displayed in your spinner element 
    List<String> languages = new ArrayList<String>(); 
    languages.add("English"); 
    languages.add("Greek"); 
    } 

//define an adapter for the spinner 
    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, languages); 


//set the style of the snipper, in this case a listview with a radio button    

dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_it EM)的選擇;

//attach the adapter to your spinner element 
    spinner.setAdapter(dataAdapter); 

} 

處理微調元素的選擇,你必須ovveride SnipperActivity類

@Override 
public void onItemSelected(AdapterView parent, View view, int position, long id) { 
    // On selecting a spinner item 
    String language = parent.getItemAtPosition(position).toString(); 

    //show a spinner item 
    Log.e("TAG", "Spinner item selected " + language); 


}