私は単純なレイアウト( twoTextViews
と one Spinner
)、配列とメソッドのMainActivity.java
which を持っています。onCreate
アダプターを介してSpinner
.
アプリを実行するとクリックできますSpinner
が、android 4.3(API レベル 16) では何も起こらず、android2.3.3(Api レベル 10) では空の白い行が表示されます。少なくとも文字列の 1 つを表示して選択するべきではありませんか?
main.xml :
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/question"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:text="@string/question" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/question"
android:text="@string/one" />
<Spinner
android:id="@+id/nationalities_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/question"
android:layout_toRightOf="@+id/textView1"
android:entries="@array/nationalities_array"
android:tag="@string/select_string" />
</RelativeLayout>
の配列Spinner
:
<string-array name="nationalities_array">
<item>Italian</item>
<item>German</item>
<item>British</item>
<item>Dutch</item>
</string-array>
そしてMainActivity.java
:
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Spinner nationalities_spinner = (Spinner) findViewById(R.id.nationalities_spinner);
ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(this, R.array.nationalities_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
nationalities_spinner.setAdapter(adapter);
}
public void onResume(){
super.onResume();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}