如何在 android 中使用 2 个微调器?

How to work with 2 Spinners in android?

为什么这段代码不起作用?开关盒有什么问题吗? 我有 2 个微调器(分支和学期)。选择分支时,它必须显示所选分支的 Toast,与学期相同。

public class MainActivity extends Activity implements OnItemSelectedListener, OnClickListener{

Spinner branch, semester;
Button go;
TextView branchText, semText;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    branch = (Spinner) findViewById(R.id.spinner1);
    semester = (Spinner) findViewById(R.id.spinner2);
    go = (Button) findViewById(R.id.button1);

    ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.Branch, android.R.layout.simple_spinner_item);
    branch.setAdapter(adapter);
    branch.setOnItemSelectedListener(this);

    ArrayAdapter adapter1 = ArrayAdapter.createFromResource(this, R.array.Semester, android.R.layout.simple_spinner_item);
    semester.setAdapter(adapter1);
    semester.setOnItemSelectedListener(this);
    go.setOnClickListener(this);

}

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
        long id) {
    // TODO Auto-generated method stub

    switch (view.getId())
    {
    case R.id.spinner1:
        branchText = (TextView) view;
        Toast.makeText(this, branchText.getText(), Toast.LENGTH_SHORT).show();
        break;
    case R.id.spinner2:
        semText = (TextView) view;
        Toast.makeText(this, semText.getText(), Toast.LENGTH_SHORT).show();
        break;
    }
}

Toast.makeText(this, branchText.getText(), Toast.LENGTH_SHORT).show();更改为Toast.makeText(this, branchText.getText().tostring(), Toast.LENGTH_SHORT).show();
将所有 branchText.getText() 更改为 branchText.getText().tostring()

引用分支数组并使用位置检索分支文本:

String[] branchArr = getResources().getStringArray(R.array.Branch);

case R.id.spinner1:
    Toast.makeText(this, branchArr[position], Toast.LENGTH_SHORT).show();
    break;

您应该通过 "AdapterView parent" 而不是 "View view" 获取所选项目的 ID。

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
    long id) {
// TODO Auto-generated method stub

switch (parent.getId()){

case R.id.spinner1:
    branchText = (TextView) view;
    Toast.makeText(this, branchText.getText(), Toast.LENGTH_SHORT).show();
    break;

case R.id.spinner2:
    semText = (TextView) view;
    Toast.makeText(this, semText.getText(), Toast.LENGTH_SHORT).show();
    break;
  }
}