【问题标题】:android spinner broken in SDK 11android spinner 在 SDK 11 中损坏
【发布时间】:2014-09-10 01:09:11
【问题描述】:

我发现这试图让一个简单的微调器示例工作。它与 minSdkVersion="8" 一起工作,但我无法让当前版本工作。
在下面的代码中,我在下拉菜单中使用 minSdkVersion="10" 获得单选按钮,但使用 minSdkVersion="11" 会丢失它们。
除了缺少 RadioButton 的更改之外,一切正常。我在文档中找不到任何提及更改或有关 Spinner 问题的问题,但我可能在错误的地方寻找并且真的不知道在哪里寻找。
任何帮助表示赞赏。
抱歉发了这么长的帖子……

我的 MainActivity 看起来像:

public class MainActivity extends Activity implements OnItemSelectedListener {
    private Spinner createSpinner(int id, String fmtString) {
        Spinner spinner = (Spinner) findViewById(id);
        spinner.setOnItemSelectedListener(this);
        List<String> categories = new ArrayList<String>();
        for (int i = 0; i <= 20; i++)
            categories.add(String.format(fmtString, i));
        ArrayAdapter<String> dataAdapter
            = new ArrayAdapter<String>(this
                , android.R.layout.simple_spinner_item
                , categories);
        dataAdapter.setDropDownViewResource(
            android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(dataAdapter);
        return spinner;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Spinner s = createSpinner(R.id.layout_spinner, "activity spinner %02d");
        // set initial selection to the fifth element (= 06)
        s.setSelection(5);
    }

    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int itemIndex,
            long itemId) {

        String selectedItem = parent.getItemAtPosition(itemIndex).toString();
        Toast.makeText(
            parent.getContext()
            , "Selected item: \"" + selectedItem + "\""
            , Toast.LENGTH_LONG)
            .show();

    }

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

Android 清单如下所示:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.spinnerdemo"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="11" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

布局看起来像:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="${relativePackage}.${activityClass}" >

    <Spinner
        android:id="@+id/layout_spinner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

【问题讨论】:

  • 尝试这样设置:dataAdapter.setDropDownViewResource(android.R.layout.select_dialog_singlechoice);
  • 我已经发布了我的答案,如果对您有用,请您批准并投票。

标签: android sdk spinner


【解决方案1】:

试试这个方法,希望能帮助你解决问题。

dataAdapter.setDropDownViewResource(android.R.layout.select_dialog_singlechoice)‌​;

【讨论】:

    猜你喜欢
    • 2021-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多