Android 替换动态添加的微调器中的字符串值
我需要替换字符串变量中的选定值。这是我动态添加的微调器适配器:Android 替换动态添加的微调器中的字符串值,android,Android,我需要替换字符串变量中的选定值。这是我动态添加的微调器适配器: ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>( this, android.R.layout.simple_spinner_item, helptextList); spinnerAdapter
ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(
this, android.R.layout.simple_spinner_item,
helptextList);
spinnerAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sr.setAdapter(spinnerAdapter);
spinnerAdapter.notifyDataSetChanged();
sr.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
mSelectedSpinnerValue += helptextList.get(arg2) + ",";
}
ArrayAdapter spinnerAdapter=新的ArrayAdapter(
这个,android.R.layout.simple\u微调器\u项,
帮助文本列表);
自旋适配器
.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
高级设置适配器(旋转适配器);
spinnerAdapter.notifyDataSetChanged();
sr.setOnItemSelectedListener(新的OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView arg0、视图arg1、,
整数arg2,长arg3){
//TODO自动生成的方法存根
mSelectedSpinnerValue+=helptextList.get(arg2)+“,”;
}
我成功地获取了所选的值。现在我需要使用“,”添加所有值。我的问题是:在第二次选择值时,它被添加到同一个字符串中,但我想用新值替换旧值。请任何人建议如何获取字符串变量中的更新值。更改:
mSelectedSpinnerValue += helptextList.get(arg2) + ",";
致:
有3个变量,初始值如下:
String sp1="Yes", sp2="NO", sp3="Got";
并在本书中选择:
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
sp1= helptextList.get(arg2);
mSelectedSpinnerValue=String.format("(%s,%s,%s)",sp1,sp2,sp3);
}
@覆盖
已选择公共视图(AdapterView arg0、视图arg1、,
整数arg2,长arg3){
sp1=helptextList.get(arg2);
mSelectedSpinnerValue=String.format((%s,%s,%s)”,sp1,sp2,sp3;
}
删除+
登录
mSelectedSpinnerValue += helptextList.get(arg2) + ",";
您现在要做的是将现有的字符串
与您选择的新字符串连接起来
删除+
符号后,它将在mSelectedSpinnerValue
中设置所选值。使用:-
mSelectedSpinnerValue = helptextList.get(arg2) + ",";
而不是:-
mSelectedSpinnerValue += helptextList.get(arg2) + ",";
您好,下面的代码将帮助您
String[] helptextList=null;
int i=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
helptextList ="a~b~c".split("~");
ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(
this, android.R.layout.simple_spinner_item,
helptextList);
Spinner sr=(Spinner)findViewById(R.id.sample);
spinnerAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sr.setAdapter(spinnerAdapter);
spinnerAdapter.notifyDataSetChanged();
sr.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View arg1,
int pos, long arg3) {
// TODO Auto-generated method stub
if(i!=0 && !parent.getItemAtPosition(pos).toString().endsWith(","))
helptextList[pos]=parent.getItemAtPosition(pos).toString()+",";
i++;
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
}
String[]helptextList=null;
int i=0;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
helptextList=“a~b~c”。拆分(~”;
ArrayAdapter spinnerAdapter=新的ArrayAdapter(
这个,android.R.layout.simple\u微调器\u项,
帮助文本列表);
微调器sr=(微调器)findViewById(R.id.sample);
自旋适配器
.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
高级设置适配器(旋转适配器);
spinnerAdapter.notifyDataSetChanged();
sr.setOnItemSelectedListener(新的OnItemSelectedListener(){
已选择公共视图(AdapterView父视图,视图arg1,
内部位置,长arg3){
//TODO自动生成的方法存根
if(i!=0&&!parent.getItemAtPosition(pos.toString().endsWith(“,”))
helptextList[pos]=parent.getItemAtPosition(pos.toString()+“,”;
i++;
}
未选择公共无效(AdapterView arg0){
//TODO自动生成的方法存根
}
});
}
我已选中,如果(I!=0)这是第一次检查。如果您选择该项目,它将自动更新以供下次使用。谢谢您的回答,但我的微调器是动态添加的,举个例子:有三个微调器我需要在第一次获取所有默认值(是、否、已获取),如果我更改任何微调器中的值,它将在我的字符串中更新,如(No,No,Got)…该值也是动态值,可能有四个值和四个微调器。。
String[] helptextList=null;
int i=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
helptextList ="a~b~c".split("~");
ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(
this, android.R.layout.simple_spinner_item,
helptextList);
Spinner sr=(Spinner)findViewById(R.id.sample);
spinnerAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sr.setAdapter(spinnerAdapter);
spinnerAdapter.notifyDataSetChanged();
sr.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View arg1,
int pos, long arg3) {
// TODO Auto-generated method stub
if(i!=0 && !parent.getItemAtPosition(pos).toString().endsWith(","))
helptextList[pos]=parent.getItemAtPosition(pos).toString()+",";
i++;
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
}