2012-06-12 33 views
1

我按鈕打開spiiner上用onclick但我的微調並不 觸發setOnItemSelectedListener的這部分程序無法正常工作onItemSelected(適配器視圖爲arg0,查看ARG1, INT POS, 公共無效long id){ language = AppConstants.Language_arr [pos];onItemSelected/setOnItemSelectedListener不觸發

    } 
        public void onNothingSelected(AdapterView<?> arg0) { 
         // TODO Auto-generated method stub 

        } spinner opens but onitemselected is not working 
import com.privy.constants.AppConstants; 
      import android.app.Activity; 
      import android.os.Bundle; 
      import android.view.View; 
      import android.view.View.OnClickListener; 
      import android.widget.AdapterView; 
      import android.widget.AdapterView.OnItemSelectedListener; 
      import android.widget.ArrayAdapter; 
      import android.widget.Button; 
      import android.widget.Spinner; 
      import android.widget.ToggleButton; 

      public class Settings extends Activity implements OnClickListener { 
       private Spinner sp_languge, sp_login; 
       private ToggleButton toggle_news_letter; 
       private String language; 
       private Button language_change; 
       @Override 
       protected void onCreate(Bundle savedInstanceState) { 
        // TODO Auto-generated method stub 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.settings); 
        sp_languge = new Spinner(this); 
        ArrayAdapter<String> adapter_language = new ArrayAdapter<String>(
          Settings.this, R.layout.spinner_item, AppConstants.Language_arr); 
        sp_languge.setAdapter(adapter_language); 
        language_change = (Button) findViewById(R.id.language_change); 
        language_change.setOnClickListener(this); 
        sp_languge.setOnItemSelectedListener(new OnItemSelectedListener() { 

         public void onItemSelected(AdapterView<?> arg0, View arg1, int pos, 
           long id) { 
          language = AppConstants.Language_arr[pos]; 

         } 
         public void onNothingSelected(AdapterView<?> arg0) { 
          // TODO Auto-generated method stub 

         } 
        }); 
       } 
       public void onClick(View v) { 
        if (v == language_change) { 

         sp_languge.performClick(); 

        } 
       } 
      } 
+0

看起來幾乎同一個問題的http://小號tackoverflow.com/questions/4915432/onitemselectedlistener-not-being-called-for-my-spinner –

+0

在寬度爲零的XMl上添加spiiner ................... http://stackoverflow.com/questions/5555549/android-spinner-performclick-onitemselected –

回答

1

添加spiiner XML的與寬度/高度零...................

並使用

sp_languge = (Spinner)findViewById(R.id.<my_spinerid>); 

android spinner performClick onItemSelected

+1

感謝Dheeresh,現在我使用 在我的XML這是工作的罰款。但不要使用android:visibility =「gone」,否則它將無法工作。 Thanks Ashwani –