微调器 Android
Spinner Android
下面的代码运行完美,如何将 EditText 替换为 Spinner?
我已经尝试过基本的 Spinner,它可以工作,但对于多个 Spinner(我需要我的项目)却变成了错误,我不知道如何制作它。
public class TTS_1 extends AppCompatActivity {
EditText box1, box2, box3;
TextView txtView;
Button btnOk;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tts_1);
txtView = (TextView) findViewById(R.id.txt1);
box1 = (EditText) findViewById(R.id.edt1);
box2 = (EditText) findViewById(R.id.edt2);
box3 = (EditText) findViewById(R.id.edt3);
btnOk = (Button) findViewById(R.id.btnOK);
final String [] arrayQuestion = {"1", "2", "3"};
final String [] arrayAnswer = new String[3];
btnOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
arrayAnswer[0] = box1.getText().toString();
arrayAnswer[1] = box2.getText().toString();
arrayAnswer[2] = box3.getText().toString();
if (Arrays.equals(arrayAnswer,arrayQuestion)) {
txtView.setText("Arrays is equals");
}
else {
txtView.setText("Arrays is not equals");
}
}
});
}
}
对不起,这不是错误,只是显示else语句(输入正确)。
我的基本微调器是:
final String[] theQuestion2 = {"1", "2", "3"};
final String [] theNumbers = {" ", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
spinner1 = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, theNumbers);
spinner1.setAdapter(adapter);
spinner1 = (Spinner) findViewById(R.id.spinner2);
ArrayAdapter adapter2 = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, theNumbers);
spinner1.setAdapter(adapter2);
spinner1 = (Spinner) findViewById(R.id.spinner3);
ArrayAdapter adapter3 = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, theNumbers);
spinner1.setAdapter(adapter3);
试试这个
在您的 xml 文件
中声明一个带有某个名称的微调器
<Spinner
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_weight="8"
android:id="@+id/some"
android:layout_width="match_parent"
android:layout_height="40dp"
/>
现在在你的 java 中声明一个数组适配器
ArrayAdapter<CharSequence> adapter1;
将以下行放在 onCreate 方法中
spinner1 = (Spinner) findViewById(R.id.some);
adapter1 = ArrayAdapter.createFromResource(this, R.array.some, android.R.layout.simple_spinner_item);
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(adapter1);
其中R.array.some指res>strings中的数组值,
<string-array name="some">
<item>Select</item>
<item>Select1</item>
<item>Select2</item>
</string-array>
您也可以使用 arraylist 而不是 arrayadapter 添加它。
此方法可帮助您创建任意数量的微调器
ArrayAdapter<CharSequence> adapter;
Spinner Id_mSpinner;
将以下行放在 onCreate 方法中
Id_mSpinner = (Spinner) findViewById(R.id.some);
adapter = ArrayAdapter.createFromResource(this, R.array.some, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Id_mSpinner.setAdapter(adapter);
下面的代码运行完美,如何将 EditText 替换为 Spinner?
我已经尝试过基本的 Spinner,它可以工作,但对于多个 Spinner(我需要我的项目)却变成了错误,我不知道如何制作它。
public class TTS_1 extends AppCompatActivity {
EditText box1, box2, box3;
TextView txtView;
Button btnOk;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tts_1);
txtView = (TextView) findViewById(R.id.txt1);
box1 = (EditText) findViewById(R.id.edt1);
box2 = (EditText) findViewById(R.id.edt2);
box3 = (EditText) findViewById(R.id.edt3);
btnOk = (Button) findViewById(R.id.btnOK);
final String [] arrayQuestion = {"1", "2", "3"};
final String [] arrayAnswer = new String[3];
btnOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
arrayAnswer[0] = box1.getText().toString();
arrayAnswer[1] = box2.getText().toString();
arrayAnswer[2] = box3.getText().toString();
if (Arrays.equals(arrayAnswer,arrayQuestion)) {
txtView.setText("Arrays is equals");
}
else {
txtView.setText("Arrays is not equals");
}
}
});
}
}
对不起,这不是错误,只是显示else语句(输入正确)。
我的基本微调器是:
final String[] theQuestion2 = {"1", "2", "3"};
final String [] theNumbers = {" ", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
spinner1 = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, theNumbers);
spinner1.setAdapter(adapter);
spinner1 = (Spinner) findViewById(R.id.spinner2);
ArrayAdapter adapter2 = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, theNumbers);
spinner1.setAdapter(adapter2);
spinner1 = (Spinner) findViewById(R.id.spinner3);
ArrayAdapter adapter3 = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, theNumbers);
spinner1.setAdapter(adapter3);
试试这个 在您的 xml 文件
中声明一个带有某个名称的微调器 <Spinner
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_weight="8"
android:id="@+id/some"
android:layout_width="match_parent"
android:layout_height="40dp"
/>
现在在你的 java 中声明一个数组适配器
ArrayAdapter<CharSequence> adapter1;
将以下行放在 onCreate 方法中
spinner1 = (Spinner) findViewById(R.id.some);
adapter1 = ArrayAdapter.createFromResource(this, R.array.some, android.R.layout.simple_spinner_item);
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(adapter1);
其中R.array.some指res>strings中的数组值,
<string-array name="some">
<item>Select</item>
<item>Select1</item>
<item>Select2</item>
</string-array>
您也可以使用 arraylist 而不是 arrayadapter 添加它。 此方法可帮助您创建任意数量的微调器
ArrayAdapter<CharSequence> adapter;
Spinner Id_mSpinner;
将以下行放在 onCreate 方法中
Id_mSpinner = (Spinner) findViewById(R.id.some);
adapter = ArrayAdapter.createFromResource(this, R.array.some, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Id_mSpinner.setAdapter(adapter);