我在一个类似的字典知识测试人员的项目上工作。我希望通过代码向spinner添加2个语言名称,但是我遇到了问题,这让我发疯了。
当我使用标记为“1”的部分时没有问题,但另一方面,如果我使用标记为“2”的部分,则会出错。同时,如果我使用“1”,它看起来像全屏,但我还没有找到将其大小更改为更小的方法。
请提前帮助我们,谢谢。
1)Spinner spin = new Spinner(this);
spin.setAdapter(dataAdapter);
setContentView(spin);
2)Spinner spin2 = (Spinner) findViewById(R.id.spinner1);
spin2.setAdapter(dataAdapter);
setContentView(spin2);
答案 0 :(得分:1)
您在1中使用它的方式是将微调器的视图设置为唯一可见的视图。
您需要的是在XML文件中定义视图,然后将其设置为内容视图
例如main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Spinner
android:id="@+id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Spinner
android:id="@+id/spinner2"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
然后在你的.java文件中
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//setting up the adapters
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item);
ArrayAdapter<String> dataAdapter2 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item);
//adding things to the adapters
dataAdapter.add("English");
dataAdapter2.add("Spanish");
//setting the spinners up from their id in the XML file
Spinner spinner1 = (Spinner)findViewById(R.id.spinner1);
Spinner spinner2 = (Spinner)findViewById(R.id.spinner2);
//setting the spinners adapters
spinner1.setAdapter(dataAdapter);
spinner2.setAdapter(dataAdapter2);
}
应该这样做,如果我解释错误的问题,只需更详细地回复。
答案 1 :(得分:0)