繁体   English   中英

Android的不同选择微调器显示不同的textview

[英]Android different selection spinner show different textview

我希望微调器针对Android Studio中的微调器显示的不同选择显示不同的textview。 它是一种药物交互作用应用程序,因此,当用户从微调器中选择一种药物时,我希望每种药物都会出现不同的相互作用。 任何建议将是有用的。

下面是我的代码,

    public class MyActivity extends Activity implements OnItemSelectedListener {
    Spinner spinner;
    TextView showmed;
    private String[] state = {"Adalimumab",
            "Etanercept",
            "Tacrolimus",
            "Mycophenolic Acid",
            "Bicalutamide",
            "Darbepoetin alfa",
            "Ciclosporin",
            "Interferon beta-1a",
            "Triptorelin"};

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);
        System.out.println(state.length);
        showmed = (TextView) findViewById(R.id.showgender);
        spinner = (Spinner) findViewById(R.id.spinner);
        ArrayAdapter<String> adapter_state = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, state);
        adapter_state
                .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter_state);
        spinner.setOnItemSelectedListener(this);

     }

    public void onItemSelected(AdapterView<?> parent, View view, int position,
                               long id) {
        spinner.setSelection(position);
        String selState = (String) spinner.getSelectedItem();
        showmed.setText("Your drug:" + selState);
     }

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

    }

我相信这是您可能一直在寻找的方法:

public void onItemSelected(AdapterView<?> parent, View view, int position,
                           long id) {

               switch(position)
{

               case 0:
               showmed.setText("Your drug number 0 on the list");
                break;

               case 1:
               showmed.setText("Your drug number 1 on the list");
                break;

}


 }

您还应该更新为final TextView showmed;

您可以在微调器上设置侦听器:

spinner.setOnItemSelectedListener(this);

实现的方法将如下所示:

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
{
    if(position == 0)
        textView.setVisibility(View.VISIBLE);
    //do something similar for every position
}

根据传递给该方法的位置,您可以将文本视图的可见性更改为“消失”或“可见”。

检查药物名称并根据药物名称设置

adapter_state.setDropDownViewResource(R.layout.custom_text_view)

这里R.layout.custom_text_view是您将制作的XML,就像您想要的那样

如果有帮助,这是我的代码。 我还能使用此代码吗?

public class MyActivity extends Activity implements OnItemSelectedListener {
Spinner spinner;
TextView showmed;
private String[] state = {"Adalimumab",
        "Etanercept",
        "Tacrolimus",
        "Mycophenolic Acid",
        "Bicalutamide",
        "Darbepoetin alfa",
        "Ciclosporin",
        "Interferon beta-1a",
        "Triptorelin"};

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_my);
    System.out.println(state.length);
    showmed = (TextView) findViewById(R.id.showgender);
    spinner = (Spinner) findViewById(R.id.spinner);
    ArrayAdapter<String> adapter_state = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, state);
    adapter_state
            .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter_state);
    spinner.setOnItemSelectedListener(this);

 }

public void onItemSelected(AdapterView<?> parent, View view, int position,
                           long id) {
    spinner.setSelection(position);
    String selState = (String) spinner.getSelectedItem();
    showmed.setText("Your drug:" + selState);
 }

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

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM