救命!我需要一个Spinner,Radio Group with Radio按钮,EditText和setText

时间:2010-10-26 15:40:04

标签: android radio-button spinner

好的,我不太擅长解释这个,因为我是Android的新手,所以和我一起工作。 我已经尝试了所有我能找到的东西,我不知道如何让一切都在一起工作。 我有一个Spinner来选择一个年龄组,一个Radio组,带有单选按钮,允许你选择性别(男性或女性),我有一个EditText,我将允许数字输入和Textview到当前空白的一面

根据从微调器中选择的年龄组以及选择了哪个单选按钮 - 根据在EditText框中输入的数字,将TextView的setText设置为某个数字。

我已经尝试为微调器使用OnItemSelectedListener但是却无法找到它如何知道从数组中选择的内容。我尝试使用带有数组中项目的if语句的getItemSelected

单选按钮 香港专业教育学院尝试使用if语句 - 如果(radiobutton.isChecked())但我不知道我是否 在此之前需要一个ifCheckedRadio以及如何在微调器之后使其工作

如果所有这些都奏效了我的话 if(EditText.getText()。equals(“#”)) TextView.setText( “#”);

将为每个可能的#input

复制

现在文本会在没有按钮和OnClickListener的情况下改变,或者有没有办法在没有按钮的情况下执行此操作,因为将使用按钮在最后添加多个EditText,但我希望此后立即显示输入

对不起,如果不清楚,请告知我们您是否需要更多信息。如果我忽略了之前使用微调器和无线电按钮的问题,请告诉我,我会一直看,但我一直坚持这个。

3 个答案:

答案 0 :(得分:0)

这应该这样做

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

          TextView tv = (TextView) findViewById(R.id.TextView01);
          RadioGroup rg = (RadioGroup) findViewById(R.id.RadioGroup01);
          EditText et = (EditText) findViewById(R.id.EditText01);
          RadioButton rb1 = (RadioButton) findViewById(R.id.RadioButton01);
          RadioButton rb2 = (RadioButton) findViewById(R.id.RadioButton02);
          String gender = "";
          if (rb1.isChecked())
             gender = "male";
          if (rb2.isChecked())
             gender = "female";
          String answer;
          answer = parent.getItemAtPosition(pos).toString() + " "
          + gender + " " + et.getText(); 
          tv.setText(answer);
    }
  • 粗略而且准备好,但应该给你一般的想法 (顺便把Radiobuttons放在RadioGroup里面)

答案 1 :(得分:0)

确定 - 重新上一次评论,这使得从微调器和单选按钮中选择一个项目,终止输入操作。基本上我已经在按钮上添加了onClickListeners。你不能真正在编辑文本中添加Onclick,因为点击通常会弹出软键盘。

package com.test.spinnerexample;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.AdapterView.OnItemSelectedListener;

public class SpinnerExample extends Activity {
RadioButton rb1; RadioButton rb2; TextView tv;  EditText et;
Spinner sp;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main); 
    rb1 = (RadioButton) findViewById(R.id.RadioButton01);
    rb2 = (RadioButton) findViewById(R.id.RadioButton02);
    tv = (TextView) findViewById(R.id.OutputText);
    et = (EditText) findViewById(R.id.EditText01);
    sp = (Spinner) findViewById(R.id.Spinner01);
    ArrayAdapter<CharSequence> adapter1;
    adapter1 = ArrayAdapter.createFromResource(
            this, R.array.agegroups_array,
            android.R.layout.simple_spinner_item);
    adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    sp.setAdapter(adapter1);
    rb1.setChecked(true);
    sp.setOnItemSelectedListener(new MyOnItemSelectedListener());
    rb1.setOnClickListener(new ButtonListener());
    rb2.setOnClickListener(new ButtonListener());
}
private class MyOnItemSelectedListener implements OnItemSelectedListener {

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

        RadioButton checkedButton = rb1.isChecked() ? rb1 : rb2;
        showResult(parent.getItemAtPosition(pos).toString(),
                checkedButton.getText().toString());
    }
    @Override
    public void onNothingSelected(AdapterView<?> arg0) {
    }
}
private class ButtonListener implements OnClickListener{

    @Override
    public void onClick(View view) {
        RadioButton rb = (RadioButton) view;
        int selectedItem = sp.getSelectedItemPosition();
        showResult(sp.getItemAtPosition(selectedItem).toString(), 
                rb.getText().toString());
    }

}
private void showResult(String selctdSpnrText, String chkdBtnText){
    String answer = selctdSpnrText + " " + chkdBtnText + " "
    + et.getText();
    tv.setText(answer);
}
}

答案 2 :(得分:0)

// ------- spinner for gender

    ArrayAdapter<String> spnAdapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, items);
    spnAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    spnSex.setAdapter(spnAdapter);

    spnSex.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

        public void onItemSelected(AdapterView<?> parent, View view,
                int position, long id) {
            // TODO Auto-generated method stub
            myprofile.str_sex = items[position];

        }

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

        }
    });