2012-07-24 53 views
0

我有以下代碼:安卓微調第一元素列表

spin.setAdapter(new ArrayAdapter<String>(Activity.this, 
            android.R.layout.simple_spinner_item,result)); 
spin.setOnItemSelectedListener(new OnItemSelectedListener() { 
String selected; 
boolean click=false; 
int currSelection =spin.getLastVisiblePosition(); 
public void onItemSelected(
AdapterView<?> parentView,View selectedItemView, int position,long id) 
{ 
    if ((position != 0)){ 
    //code here 
    } 
} 

當從列表,我不能提取值的第一要素上點擊。 list elements的其餘部分按預期工作。

我知道問題在於int值的位置。問題是,如果我沒有,如果條件,然後每個類型我開始列表第一個元素彈出,即使我沒有點擊列表中的任何項目。如何解決這個問題?

+1

因此,如果沒有選擇項目,它將返回0的默認行爲,這意味着第一個項目被選中(第0個位置)。你現在想要什麼? – AAnkit 2012-07-24 09:44:58

+0

我想單擊它時打印列表元素。 – 2012-07-24 10:08:33

回答

0

既然你想打印列表元素後,點擊它會很難與微調由於Android默認情況下選擇第一個元素在第0位置微調,這將打印元件,而不選擇。

對於我可以建議你使用警告對話框,而不是spinner.Use按鈕而不是微調和按鈕的onClick()創建警報對話框。該下面的例子中給出。

創建您的微調項目的字符串數組。

String[] element = {Your element List}; 
private OnClickListener btn_Listener = new OnClickListener() { 

    public void onClick(View arg0) { 
     // TODO Auto-generated method stub 
     AlertDialog.Builder builder = new AlertDialog.Builder(getContext()); 
     builder.setTitle("Set your Button Name"); 

      builder.setSingleChoiceItems(itemsForHindi, -1, 
        new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int item) {        
          alertDialog.dismiss(); 
          selectedParam = element[item].toString(); // Here you can get selected ielement.         
         } 
        }); 
     }   
     alertDialog = builder.create(); 
     alertDialog.show(); 
    } 
}; 

如果您有任何疑問,請問我。