Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 替换动态添加的微调器中的字符串值_Android - Fatal编程技术网

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

            }
        });
    }