gpt4 book ai didi

android - 基本的 Spinner 不当行为

转载 作者:行者123 更新时间:2023-11-29 02:00:50 26 4
gpt4 key购买 nike

我有一个简单的布局(两个 TextViews 和一个 Spinner)、数组和 MainActivity.java onCreate 方法,通过适配器填充 Spinner

当我执行该应用程序时,我可以单击 Spinner,但在 android 4.3(API 级别 16)中没有任何反应,并且在 android2.3.3(Api 级别 10)中显示一个空的白行。我不应该至少看到并选择其中一个字符串吗?

ma​​in.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;
}
}

最佳答案

您在 Spinner 中看不到任何东西,因为您为 ArrayAdapter 使用了不正确的构造函数,这导致您的 ArrayAdapter 为空微调器。您使用 this ArrayAdapter constructor并提供与它想要的不同的东西(布局文件资源和来自该布局文件的 TextView 的 id)。相反,你可能想要这个:

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.nationalities_array, android.R.layout.simple_spinner_item);

关于android - 基本的 Spinner 不当行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12768038/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com