在 Android 中隐藏微调器并通过单击按钮显示

Hide spinner in Android and display with the click of a button

我在我的应用程序中创建了一个微调器,当有人按下 sos 按钮时我希望它不可见然后它应该对用户可见 select 其中的一个选项我该如何解决它?

I have created a spinner in my app which i want to be invisible when someone press the sos button

您可以在按钮上设置侦听器,以设置微调器的可见性。

例如

sosButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        mySpinner.setVisibility(View.GONE);
    }
});

it should be visible for the user to select one option in it how can i solve it?

我不确定这是什么意思。我以为你想让微调器不可见?

您可以使用下面的代码来隐藏和显示 Spinner

//hide
spinner.setVisibility(View.GONE);

//show
spinner.setVisibility(View.VISIBLE);

此外,您可以使用以下代码片段获取用户选择的项目;

spinner.setOnItemSelectedListener(this);

...

public void onItemSelected(AdapterView<?> parent, View view, int pos,long id) {
    Toast.makeText(parent.getContext(), 
    "OnItemSelectedListener : " + parent.getItemAtPosition(pos).toString(),
    Toast.LENGTH_SHORT).show();
}

//隐藏

spinner.setVisibility(View.GONE);

//显示

spinner.setVisibility(View.VISIBLE);

Android: How to make a Spinner invisible and then visible again?

@HumanOidRoBo 你可以通过这个代码来完成..

 <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:text="Optional"
                android:textSize="20sp" />


            <Spinner
                android:id="@+id/mySpinner"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:visibility="gone"
                android:layout_marginLeft="5dp">

            </Spinner>
        </LinearLayout>

并在 class 中添加 SOS 的点击事件

sosButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
    mySpinner.setVisibility(View.VISIBLE); // for Show 

    // or
    mySpinner.setVisibility(View.GONE);   // for Hide
}  
});