我正在开发一个应用程序,我需要根据以前的屏幕值动态设置微调器值。我的代码......
Main.java。
String[] values = {"All","Only Walk-in","Only Phone","Only Web","Walkin-phone","Walkin-web","phone-web"};
/*ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item,apttypes);
spinner.setAdapter(adapter);*/
但在这里我想要的是从前一个屏幕我得到一些价值(像旋转器位置)。基于我需要设置微调器值来显示...
如果我得到值= 0表示
,则来自上一屏幕我需要设置微调器值以从顶部的数值数组中显示“全部”。
如果我得到值= 5意味着,
我想设置微调器值以显示为“Walkin-web”
我该怎么做?任何人都可以帮助我...
答案 0 :(得分:8)
使用您用于启动它的Activity
中的额外内容,传递上一个Intent
中的值。然后,当您阅读值调用
int position = getIntent().getIntExtra( "name", defaultValue );
spinner.setSelection( position );
将微调器移动到您选择的索引。
答案 1 :(得分:3)
使用以下数组代码并每次创建新的数组适配器
String[] str=new String[maxsize-4];
答案 2 :(得分:1)
you can implement onItemClick event on Spinner like this and setSelection(position)
//Spinner OnItemClick Event here
payfeeTabStudentNameSpinner.setOnItemSelectedListener(new OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
payfeeTabStudentNameSpinner.setSelection(position);
spinnerSelectedValue = parent.getItemAtPosition(position).toString();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
答案 3 :(得分:0)
在你的第一个活动A.java里面
public static String Position = YOUR_SPINNER1.getSelectedItem().toString();
在你的第二个活动B.java里面
if(A.Position.equals("0")){
//Set your adapter accordingly
}else if(A.Position.equals("1")){
//Set your adapter accordingly
}
答案 4 :(得分:0)
您可以使用以下代码指定微调器的位置..
Spinner s1;
-----------
-----------
int position=valueFromPrevious;
s1.setSelection(position);
-----------
-----------
答案 5 :(得分:0)
使用Extras传递上一个活动的值,然后当您想在当前活动中使用它时,请按照以下步骤操作:
如果你得到String值,那么通过parseInt方法将它转换为整数...
String strtext4 = getIntent().getStringExtra("qualification");
然后
int position = Integer.parseInt(strtext4);
之后只需将其设置为您的微调器
qualificationspinner.setSelection(position);