我正在用2个Spinners创建一个Activity
一个Spinner从strings.xml
第二个Spinner动态获取其项目(onCreate()
方法)。
我只能看到第一个Spinner的值,看不到第二个Spinner的值(“bla - 1”,“bla 2”)。
我做错了什么?
public class ChooseContactActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_choose_contact);
// set howOften_spinner
Spinner spinner = (Spinner) findViewById(R.id.howOften_spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.howOften, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
Spinner spiner2 = (Spinner) findViewById(R.id.contacts_spinner);
ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, android.R.id.text1);
spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerAdapter.add("bla - 1");
spinnerAdapter.add("bla - 2");
spinnerAdapter.notifyDataSetChanged();
spiner2.setAdapter(spinnerAdapter);
spinnerAdapter.notifyDataSetChanged();
}
}
XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context="com.example.root.databaseexample.ChooseContactActivity">
<Spinner
android:id="@+id/contacts_spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<Spinner
android:id="@+id/howOften_spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
答案 0 :(得分:0)
我认为问题在于您没有提供数组或List
来存储值。您应该使用要显示的值创建ArrayList
。然后使用包含ArrayAdapter
参数的List
构造函数之一。有关详细信息,请参阅Dynamic add items to listview using arrayadapter Android。
答案 1 :(得分:0)