当前位置: 首页 > 知识库问答 >
问题:

Android旋转器不显示数组,但显示位置

米裕
2023-03-14
@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_info);

    engineSpinner = (Spinner)findViewById(R.id.rockets);
    engineNameList = StagesData.getEngineNameList();
    engStrList = engineNameList.toArray(new String[engineNameList.size()]);

    adapter = new ArrayAdapter<String>(InfoActivity.this, android.R.layout.simple_spinner_item, engStrList);
    // adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, R.array.array_engines);
    // adapter = new ArrayAdapter<String>(InfoActivity.this, android.R.layout.simple_dropdown_item_1line, R.id.rockets, engStrList);
    // adapter = ArrayAdapter.createFromResource(InfoActivity.this, android.R.layout.simple_spinner_item, R.array.engines);

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    engineSpinner.setAdapter(adapter);
    engineSpinner.setSelection(0);
<TableRow>
        <TextView
            android:text="@string/rocket"
            android:padding="3dp"/>
        <Spinner
            android:id="@+id/rockets"
            android:gravity="right"
            android:entries="@array/engines"
            android:clickable="true"
            android:textColor="@color/colorblack"
            android:spinnerMode="dropdown"
            android:backgroundTint="@color/colorPrimary" />
    </TableRow>

最后,这是我想从中提取的字符串数组文件(我是把我的字符串数组放在它自己的文件中的values文件夹中,还是放在字符串文件中,我都看过了,不知道是哪个,谢谢)

<?xml version="1.0" encoding="utf-8">
<resources>
      <string-array name="engines">
            <item>Ant</item>
            <item>Dart</item>
            <item>Dawn</item>
            <item>Flea</item>
            <item>Hammer</item>
            <item>Kickback</item>
            <item>MainSail</item>
            <item>Mammoth</item>
            <item>Nerv</item>
            <item>Poodle</item>
            <item>Puff</item>
            <item>R.A.P.I.E.R</item>
            <item>Reliant</item>
            <item>Rhino</item>
            <item>Skipper</item>
            <item>Spark</item>
            <item>Spider</item>
            <item>Swivel</item>
            <item>Terrier</item>
            <item>Thud</item>
            <item>Thumper</item>
            <item>Twin Boar</item>
            <item>Twitch</item>
            <item>Vector</item>
      </string-array>
</resources>

因此,我要重述一下我的问题,我需要使用arraylist 还是string[],我如何设置我的ArrayAdapter,以及我需要把我的string-array放在哪里?
先谢谢您!

共有1个答案

爱刚捷
2023-03-14

我重新创建了你的样本,并为我的改变做了很好的工作

engStrList = engineNameList.toArray(new String[engineNameList.size()]); 
adapter = new ArrayAdapter<String>(InfoActivity.this, android.R.layout.simple_spinner_item, engStrList);

engStrList = new String[]{"a","b","c"};
adapter = new ArrayAdapter<String>(InfoActivity.this, android.R.layout.simple_spinner_item, engStrList);

所以我的猜测是,您应该检查stagesdata.getEngineNameList()返回的是什么。

ArrayAdapter adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, getResources().getStringArray(R.array.engines));
 类似资料:
  • null 请注意,我试图展示一个本地旋转器。谢了!

  • 我知道这已经被问了很多次了,但没有任何答案可以帮助我。 我有一个对话框,它将在某个时刻弹出(当我调用方法“showServerDialog”时)。对话框显示出来,一切正常,直到我使用“negativeButton”关闭对话框,然后旋转屏幕。然后,对话框再次出现,尽管我取消了它。 我读了很多次,如果我使用show Dialog(int id)方法显示对话框并覆盖onCreateDialog(int

  • 我用自定义适配器创建了一个旋转器,其中我有一个图像视图和一个文本视图,当我从旋转器中选择项目时,我用选定的项目显示图像,这是完美的工作。 问题: 但问题是当我选择任何项目时,它会在下拉框中显示选定项目的图像。并在旋转器中显示相同的(图像和文本)…

  • 我最近开始编写android程序,我想看看有哪些语言的文本到语音可用在设备上,并显示在一个旋转器,但我遇到了一个非常奇怪的问题。 下面是代码的相关部分: 在这个TTS初始化之后,我尝试并打印sum,它显示为0。我尝试通过执行类似String=country.get(1)的操作来访问localeList和country中的元素;它会在编译器中给出一个错误,说我试图访问的索引不存在,列表中有0个元素。

  • 我不熟悉Java图形(一般来说是计算机图形)和堆栈溢出,所以请帮助我解决问题,帮助我更好地表达我的问题。 目前,我正在尝试在JavaGUI中的原始图像旁边显示BufferedImage。这是我的代码: “put”功能如下: 但是,生成的GUI如下所示 因此,图像可以工作,但BuffereImage不能。我假设它可以工作,因为BuffereImage是Image的一个子类……知道吗?如果需要其他代码

  • 我的数据确实显示在console.log中,但实际上没有显示在表中,我在这里做错了什么?