Android 获取微调器位置并在单击按钮时使用它
我试图使应用程序与一个文本视图,一个按钮和一个微调器。我使按钮能够显示字符串数组中的随机值,但我有很多不同的字符串数组(列表1、列表2等)。现在我的问题是,当更改微调器位置时,如何获取按钮、获取另一个字符串数组(来自微调器)并将其显示给textview。 当在微调器中选择某个对象时,如何将值从微调器传递到按钮。 感谢您的帮助。 这是我的密码:Android 获取微调器位置并在单击按钮时使用它,android,spinner,Android,Spinner,我试图使应用程序与一个文本视图,一个按钮和一个微调器。我使按钮能够显示字符串数组中的随机值,但我有很多不同的字符串数组(列表1、列表2等)。现在我的问题是,当更改微调器位置时,如何获取按钮、获取另一个字符串数组(来自微调器)并将其显示给textview。 当在微调器中选择某个对象时,如何将值从微调器传递到按钮。 感谢您的帮助。 这是我的密码: public class MainActivity extends Activity implements AdapterView.OnItemSelec
public class MainActivity extends Activity implements AdapterView.OnItemSelectedListener {
Button btn;
public String[] myString,myString1;
public static final Random rgenerator = new Random();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//textview
final TextView tv = (TextView) findViewById(R.id.textureView);
final Resources res = getResources();
//string
myString = res.getStringArray(R.array.World_War_I);
myString1 = res.getStringArray(R.array.World_War_II);
//button
btn = (Button) findViewById(R.id.buttonxx);
btn.setOnClickListener(new View.OnClickListener(){
public void onClick (View v){
//i am missing code here, spinner position, and pass spinner position to if statement.
if (==0){
myString = res.getStringArray(R.array.list1);
String q = myString[rgenerator.nextInt(myString.length)];
tv.setText(q);
}
if (==1){
myString1 = res.getStringArray(R.array.list2);
String q1 = myString1[rgenerator.nextInt(myString.length)];
tv.setText(q1);
}
}
});
//drop list
Spinner spinner = (Spinner) findViewById(R.id.spinnerrrr);
spinner.setOnItemSelectedListener(this);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.kategorije, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
}
// when some cat selected
public void onItemSelected(AdapterView<?> parent, View view,
final int pos, long id) {
// An item was selected. You can retrieve the selected item using
parent.getItemAtPosition(pos);
parent.setSelection(0);
parent.getSelectedItemPosition();
}
public void onNothingSelected(AdapterView<?> parent) {
// Another interface callback
}
公共类MainActivity扩展活动实现AdapterView.OnItemSelectedListener{
按钮btn;
公共字符串[]myString,myString1;
公共静态最终随机生成器=新随机();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//文本视图
最终文本视图电视=(文本视图)findViewById(R.id.textureView);
最终资源res=getResources();
//串
myString=res.getStringArray(R.array.World\u War\u I);
myString1=res.getStringArray(R.array.World\u War\u II);
//钮扣
btn=(按钮)findViewById(R.id.buttonxx);
btn.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
//这里缺少代码、微调器位置和将微调器位置传递给if语句。
如果(=0){
myString=res.getStringArray(R.array.list1);
字符串q=myString[rgenerator.nextInt(myString.length)];
tv.setText(q);
}
如果(=1){
myString1=res.getStringArray(R.array.list2);
字符串q1=myString1[rgenerator.nextInt(myString.length)];
tv.setText(第一季度);
}
}
});
//下拉列表
微调器微调器=(微调器)findViewById(R.id.Spinnerrr);
spinner.setOnItemSelectedListener(此);
ArrayAdapter=ArrayAdapter.createFromResource(此,
R.array.kategorije,android.R.layout.simple_spinner_item);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
旋转器。设置适配器(适配器);
}
//当某只猫被选中时
已选择公共视图(AdapterView父视图、视图、,
最终整数位置,长id){
//已选择一个项目。您可以使用
父项。getItemAtPosition(pos);
家长选举(0);
parent.getSelectedItemPosition();
}
未选择公共无效(AdapterView父级){
//另一个接口回调
}
使用此
// when some cat selected
public void onItemSelected(AdapterView<?> parent, View view,
final int pos, long id) {
// An item was selected. You can retrieve the selected item using
btn.setTag(pos+""); // Passing as string
parent.getItemAtPosition(pos);
parent.setSelection(0);
parent.getSelectedItemPosition();
}
谢谢你。工作得很有魅力。你是生命的救星:)
btn.setOnClickListener(new View.OnClickListener(){
public void onClick (View v){
//i am missing code here, spinner position, and pass spinner position to if statement.
int index = Integer.parseInt(btn.getTag().toString());
if (index==0){
myString = res.getStringArray(R.array.list1);
String q = myString[rgenerator.nextInt(myString.length)];
tv.setText(q);
}
if (index==1){
myString1 = res.getStringArray(R.array.list2);
String q1 = myString1[rgenerator.nextInt(myString.length)];
tv.setText(q1);
}
}
});