Java Android-微调器设置TextView可见/不可见

Java Android-微调器设置TextView可见/不可见,java,android,android-spinner,Java,Android,Android Spinner,我正在尝试执行我的第一个微调器,但遇到了一些困难,例如我不知道是否可以通过微调器获得选项。getSelectItem==“some string” 请看一下我目前的代码 填充微调器: public void addItemsOnSpinner() { Spinner buttonSpinner = (Spinner) findViewById(R.id.buttonSpinner); List<String> list = new ArrayList<Strin

我正在尝试执行我的第一个
微调器
,但遇到了一些困难,例如我不知道是否可以通过
微调器获得选项。getSelectItem==“some string”

请看一下我目前的代码

填充微调器:

public void addItemsOnSpinner() {
    Spinner buttonSpinner = (Spinner) findViewById(R.id.buttonSpinner);
    List<String> list = new ArrayList<String>();
    list.add("Ultimos 5 lancamentos");
    list.add("Ultimos 7 lancamentos");
    list.add("Ultimos 10 lancamentos");
    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, list);
    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    buttonSpinner.setAdapter(dataAdapter);
}
if(buttonSpinner.getSelectedItem().toString() == "Ultimos 10 lancamentos"){
    textView.setVisibility(View.VISIBLE);
}
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:text="Deposito"
    android:visibility="invisible"
    android:id="@+id/textView"
    android:layout_row="2"
    android:layout_column="0"
    android:layout_gravity="center|left" />                
TextView textView = (TextView)findViewById(R.id.textView);
按要求查看文本代码:

public void addItemsOnSpinner() {
    Spinner buttonSpinner = (Spinner) findViewById(R.id.buttonSpinner);
    List<String> list = new ArrayList<String>();
    list.add("Ultimos 5 lancamentos");
    list.add("Ultimos 7 lancamentos");
    list.add("Ultimos 10 lancamentos");
    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, list);
    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    buttonSpinner.setAdapter(dataAdapter);
}
if(buttonSpinner.getSelectedItem().toString() == "Ultimos 10 lancamentos"){
    textView.setVisibility(View.VISIBLE);
}
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:text="Deposito"
    android:visibility="invisible"
    android:id="@+id/textView"
    android:layout_row="2"
    android:layout_column="0"
    android:layout_gravity="center|left" />                
TextView textView = (TextView)findViewById(R.id.textView);

是的,你可以这样做,它会很好地工作,但请使用

buttonSpinner.getSelectedItem().toString().equals("Ultimos 10 lancamentos");

是的,你可以这样做,它会很好地工作,但请使用

buttonSpinner.getSelectedItem().toString().equals("Ultimos 10 lancamentos");

是的,你可以这样做,它会很好地工作,但请使用

buttonSpinner.getSelectedItem().toString().equals("Ultimos 10 lancamentos");

是的,你可以这样做,它会很好地工作,但请使用

buttonSpinner.getSelectedItem().toString().equals("Ultimos 10 lancamentos");

正如Stefano所指出的,您的比较应该使用
equals
(它比较字符串内容,而
==
比较对象引用)

否则,您的
if
语句应该可以工作,但是不清楚您从何处调用它(这可能是问题的原因)。如果要在选择微调器项后立即进行比较,则需要设置一个
OnItemSelectedListener
,并在那里进行比较

下面是一个如何内联声明此侦听器的示例:

buttonSpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener()
{
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
    {
        String selectedItem = parent.getSelectedItem().toString();

        if (selectedItem.equals("Ultimos 10 lancamentos"))
        {
            textView.setVisibility(View.VISIBLE);
        }
    }

    public void onNothingSelected(AdapterView<?> parent)
    {
    }
});
buttonSpinner.setOnItemSelectedListener(新微调器.OnItemSelectedListener()
{
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id)
{
字符串selectedItem=parent.getSelectedItem().toString();
如果(选择编辑项等于(“Ultimos 10 lancamentos”))
{
textView.setVisibility(View.VISIBLE);
}
}
未选择公共无效(AdapterView父级)
{
}
});

正如Stefano所指出的,您的比较应该使用
equals
(比较字符串内容,而不是比较对象引用的
=

否则,您的
if
语句应该可以工作,但是不清楚您从何处调用它(这可能是问题的原因)。如果要在选择微调器项后立即进行比较,则需要设置一个
OnItemSelectedListener
,并在那里进行比较

下面是一个如何内联声明此侦听器的示例:

buttonSpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener()
{
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
    {
        String selectedItem = parent.getSelectedItem().toString();

        if (selectedItem.equals("Ultimos 10 lancamentos"))
        {
            textView.setVisibility(View.VISIBLE);
        }
    }

    public void onNothingSelected(AdapterView<?> parent)
    {
    }
});
buttonSpinner.setOnItemSelectedListener(新微调器.OnItemSelectedListener()
{
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id)
{
字符串selectedItem=parent.getSelectedItem().toString();
如果(选择编辑项等于(“Ultimos 10 lancamentos”))
{
textView.setVisibility(View.VISIBLE);
}
}
未选择公共无效(AdapterView父级)
{
}
});

正如Stefano所指出的,您的比较应该使用
equals
(比较字符串内容,而不是比较对象引用的
=

否则,您的
if
语句应该可以工作,但是不清楚您从何处调用它(这可能是问题的原因)。如果要在选择微调器项后立即进行比较,则需要设置一个
OnItemSelectedListener
,并在那里进行比较

下面是一个如何内联声明此侦听器的示例:

buttonSpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener()
{
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
    {
        String selectedItem = parent.getSelectedItem().toString();

        if (selectedItem.equals("Ultimos 10 lancamentos"))
        {
            textView.setVisibility(View.VISIBLE);
        }
    }

    public void onNothingSelected(AdapterView<?> parent)
    {
    }
});
buttonSpinner.setOnItemSelectedListener(新微调器.OnItemSelectedListener()
{
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id)
{
字符串selectedItem=parent.getSelectedItem().toString();
如果(选择编辑项等于(“Ultimos 10 lancamentos”))
{
textView.setVisibility(View.VISIBLE);
}
}
未选择公共无效(AdapterView父级)
{
}
});

正如Stefano所指出的,您的比较应该使用
equals
(比较字符串内容,而不是比较对象引用的
=

否则,您的
if
语句应该可以工作,但是不清楚您从何处调用它(这可能是问题的原因)。如果要在选择微调器项后立即进行比较,则需要设置一个
OnItemSelectedListener
,并在那里进行比较

下面是一个如何内联声明此侦听器的示例:

buttonSpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener()
{
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
    {
        String selectedItem = parent.getSelectedItem().toString();

        if (selectedItem.equals("Ultimos 10 lancamentos"))
        {
            textView.setVisibility(View.VISIBLE);
        }
    }

    public void onNothingSelected(AdapterView<?> parent)
    {
    }
});
buttonSpinner.setOnItemSelectedListener(新微调器.OnItemSelectedListener()
{
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id)
{
字符串selectedItem=parent.getSelectedItem().toString();
如果(选择编辑项等于(“Ultimos 10 lancamentos”))
{
textView.setVisibility(View.VISIBLE);
}
}
未选择公共无效(AdapterView父级)
{
}
});

此文本视图是什么?它是一个单独的视图还是要隐藏微调器的默认文本视图?它是一个单独的视图。这里的目的是制作一个列表,但我使用textView测试只是为了学习微调器,如果我选择第三个选项(ultimos 10 lancamentos),它将显示5个更多的textView是的,你可以这样做。成功提取选定微调器项的文本后,可以相应地执行逻辑。当然,您可以设置文本视图的可见性。但在您的逻辑中,不能使用“==”比较两个字符串值。你必须使用.equals()方法。这个textView是什么?它是一个单独的视图还是要隐藏微调器的默认文本视图?它是一个单独的视图。这里的目的是制作一个列表,但我使用textView测试只是为了学习微调器,如果我选择第三个选项(ultimos 10 lancamentos),它将显示5个更多的textView是的,你可以这样做。成功提取选定微调器项的文本后,可以相应地执行逻辑。当然,您可以设置文本视图的可见性。但在您的逻辑中,不能使用“==”比较两个字符串值。对于该.Wh,必须使用.equals()方法