【问题标题】:ArrayAdapter with Spinner returning android.content.res.Resources$NotFoundException带有 Spinner 的 ArrayAdapter 返回 android.content.res.Resources$NotFoundException
【发布时间】:2012-11-23 22:14:36
【问题描述】:

我试图用字符串列表填充 Spinner。他在android中编译运行,但是当我在Spinner中输入触摸时,程序停止并返回这个错误:

android.content.res.Resources$NotFoundException:资源 ID #0x7f090003 type #0x12 无效

protected void onPostExecute(List<String> myList)
        {
            if (!myList.isEmpty())
            {
                ArrayAdapter<String> adp = new ArrayAdapter<String>(MyActivity.this, android.R.layout.simple_spinner_item, myList);
                adp.setDropDownViewResource(R.id.mySpinner);
                mySpinner.setAdapter(adp);
            }
            else
            {
                Toast.makeText(getApplicationContext(), "Warning.", Toast.LENGTH_SHORT).show();
                Intent i = new Intent(myActivity.this, Preferences.class);
                startActivity(i);
            }
        }

【问题讨论】:

    标签: android spinner android-arrayadapter android-spinner android-resources


    【解决方案1】:

    我认为setDropDownViewResource 方法需要一个布局资源 ID。

    你应该替换

    adp.setDropDownViewResource(R.id.mySpinner);
    

    通过

    adp.setDropDownViewResource(R.layout.mySpinner);
    

    并确保(当然)文件 res/layout/mySpinner.xml 存在

    或者只使用 SDK 中的默认布局:

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

    【讨论】:

    • 但是我使用的是android.R的布局文件。随 Android SDK 一起提供。对吗?
    • 我说的不是android.R.layout.simple_spinner_item(完全正确),而是后面的那一行
    • 查看我的编辑:如果需要,可以使用默认的android.R.layout.simple_spinner_dropdown_item
    • 答案在我面前,我看不到……谢谢。
    猜你喜欢
    • 2012-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-25
    相关资源
    最近更新 更多