我可以通過這種方式讓Spinner進入操作欄; 陣列中重新/值的項目的/ languages.xmlSpinner的OnItemClickListener
<string-array name="languages">
<item>Finnish</item>
<item>French</item>
<item>German</item>
<item>Slovakian</item>
<item>Polish</item>
</string-array>
在res /菜單/ main.xml中
<item
android:id="@+id/menuSort"
android:actionLayout="@layout/spinner"
android:showAsAction="ifRoom"
android:title="@string/choose"/>
在res /佈局/ spinner.xml
<Spinner
android:id="@+id/spinner"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:entries="@array/languages"/>
而最後活動課;
public class Base_Activity extends Activity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
final Spinner spinner = new Spinner(this);
Log.i("DEBUG1", "CHECKPOINT1");
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
this, android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(spinnerArrayAdapter);
Log.i("DEBUG2", "CHECKPOINT2");
spinnerArrayAdapter.setDropDownViewResource(0);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
String items=spinner.getSelectedItem().toString();
Log.i("Selected item : ",items);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
return true;
}
}
什麼,我沒有得到上的微調項目沒有任何反應ItemSelected。正如你可以從我的xml文件中看到的,我甚至不需要Adapter來獲取微調器。但我使用適配器來獲取OnItemSelected。請幫助我發生了什麼事?
給出{java.lang.ClassCastException:android.widget.RelativeLayout不能轉換爲android.widget.Spinner} – bShah
請現在檢查 –
現在字符串(項目)從微調器中丟失。 – bShah