如何在String变量中捕获或存储AppCompatSpinner的值作为字符串?

时间:2016-09-15 18:48:06

标签: android android-studio android-support-library android-spinner android-appcompat

我有AppCompatSpinner,其中有3个条目。我希望选择的条目存储为String,以便我可以将其保存在我的数据库中。

这是XML代码:

<android.support.v7.widget.AppCompatSpinner
                android:id="@+id/randomId"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="8dp"
                android:layout_marginBottom="25dp"
                android:entries="@array/aList"
                style="@style/Base.Widget.AppCompat.Spinner">
            </android.support.v7.widget.AppCompatSpinner>

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您需要向您的Spinner添加onItemClickListener,以满足您的需求。

它可能看起来像这样:

    appCompatSpinner.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
            saveToDb(adapterView.getItemAtPosition(position).toString());
        }
    });

作为替代方案,如果您愿意,可以在类中实现OnItemClickListener。

这样做是这样的:

public class MySpinnerActivity extends Activity implements AdapterView.OnItemClickListener {

    @Override
    public void onCreate {
        AppCompatSpinner appCompatSpinner = (AppCompatSpinner) findViewById(R.id.my_spinner);
        appCompatSpinner.setOnItemClickListener(this);
    }

    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
        saveToDb(adapterView.getItemAtPosition(position).toString())
    }
}