Android中的Spinner用法

时间:2017-05-09 15:14:44

标签: android

我试图在我的项目中使用微调器。我有一些活动,如骑自行车,慢跑,睡觉等。

SPINNER.XML

    <Spinner
        android:id="@+id/activitySpinner"
        android:layout_width="158dp"
        android:layout_height="22dp"
        android:layout_gravity="center"
        android:entries="@array/activities"
        android:visibility="visible"
        tools:layout_editor_absoluteX="110dp"
        tools:layout_editor_absoluteY="101dp"
        android:onClick="onClick"/>

活动

<string-array name="activities">
        <item>Jogging</item>
        <item>Cyclingn</item>
        <item>Football</item>
        <item>Course</item>
        <item>Cinema</item>
        <item>Music</item>
        <item>Eat</item>
        <item>Sleep</item>
</string-array>

CODE

public void onClick(View v){
    switch(v.getId()){
        //-----------ACTIVITY SPINNER---------------
        case R.id.activitySpinner:
            activitySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                @Override
                public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                    Object item = parent.getItemAtPosition(position);
                }

                @Override
                public void onNothingSelected(AdapterView<?> parent) {

                }
            });
            break;
        //-----------ACTIVITY SPINNER---------------

    }
}

我只想在活动加载时选择项目。我试过了

activitySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                @Override
                public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                    Object item = parent.getItemAtPosition(position);
                }

                @Override
                public void onNothingSelected(AdapterView<?> parent) {
                }
            });

在onCreate()中,但崩溃与上面的示例相同。

我想使用带有setOnItemSelectedListener()的onClick()是错误的,但我不知道如何处理这个问题。感谢

我正在使用SDK25及以上版本(6.0)

错误 Pastebin error

1 个答案:

答案 0 :(得分:0)

您的问题是您正在使用

setOnItemSelectedListener

在OnClickListener

您需要使用activityspinner.getSelectedItem();