gpt4 book ai didi

android - 微调器选择未显示

转载 作者:搜寻专家 更新时间:2023-11-01 09:28:29 24 4
gpt4 key购买 nike

感谢您在我遇到的微调器问题上提供的帮助。

单击下拉箭头时,列表显示正常。但是,单击选择时,微调器 View 仍显示为空白。选择的文本不会出现。给了什么?

在 Android Studio 的预览中,从我分配的 android:entries 来看它看起来很好。截图在这里:(https://imgur.com/a/vmdPA)

如您所见,背景是灰色的,其他所有内容也是白色背景。所以我认为颜色不是这里的问题。

我检查并更改了背景颜色,甚至删除了一些小部件,以便我可以查看是否有任何东西阻止了选择的显示。

除了 Spinner 的正常声明,Arraylist,创建一个新的 arrayadapter,setDropDwonViewResource,将 arrayadapter 设置为我需要做的微调器之外,还有什么吗?

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_dropdown_item, spinnerArray);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mStoreSpinner.setAdapter(adapter);

微调器的 XML 也尽可能“简单”:

<Spinner
android:id="@+id/s_spinner"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@+id/recyclerord"
app:layout_constraintLeft_toRightOf="@+id/orderID"
app:layout_constraintTop_toBottomOf="@+id/header"
app:layout_constraintRight_toRightOf="@+id/ConstraintLayout"
android:visibility="visible"
android:layout_marginStart="0dp"
android:entries="@array/array_test"
>
</Spinner>

谢谢。

编辑:这是我添加的内容。

mStoreSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View v, int postion, long arg3) {
// TODO Auto-generated method stub
String spinnerValue= parent.getItemAtPosition(postion).toString();
Log.d(TAG, "test");
Toast.makeText(getBaseContext(), "Selected item" + spinnerValue, Toast.LENGTH_SHORT).show();
}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub

}
});
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_dropdown_item, spinnerArray);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mStoreSpinner.setAdapter(adapter);

最佳答案

I have not implemented the onClickListeners yet - do they need to be there before the spinner will work fine? I guess yes.

setOnItemSelectedListener 添加到您的 Spinner 中,如下所示:

mStoreSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> parent, View v,
int postion, long arg3) {
// TODO Auto-generated method stub
String spinnerValue= parent.getItemAtPosition(postion).toString();

Toast.makeText(getBaseContext(),
"Selected item" + spinnerValue,
Toast.LENGTH_SHORT).show();

}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub

}
});

也可以随意看看这个tutorial多了解一点

编辑

您应该按照以下步骤操作:

声明您的Spinner

Spinner spinner = (Spinner) findViewById(R.id.s_spinner);

创建ArrayAdapter

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(getApplicationContext(),
spinerArray, android.R.layout.simple_spinner_item);

设置DropDown

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

设置适配器

spinner.setAdapter(adapter);

有两种方法可以实现setOnItemSelectedListener()

  1. 实现其接口(interface):实现 OnItemSelectedListener
  2. 使用 setOnItemSelectedListener(new OnItemSelectedListener() {...}

关于android - 微调器选择未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49231821/

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