Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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_Android Spinner - Fatal编程技术网

Android 微调器所选项目不响应第二次选择

Android 微调器所选项目不响应第二次选择,android,android-spinner,Android,Android Spinner,我有两个纺纱机;一个用于文本选择,另一个用于更改文本颜色。我还有一个全局文本视图,当用户进行选择时,我将所选项目设置为该视图。 当我从颜色微调器中选择字体颜色时,全局文本视图的颜色会像预期的那样发生变化。然后,当我在mt textview微调器中选择另一个textview并选择相同的颜色时,我新选择的文本textview颜色不会改变。很奇怪。但如果我选择的颜色与上次使用的颜色不同,则会更改新选择的textview的颜色。 每次颜色更改后,我都尝试在颜色适配器上调用notifydatachange

我有两个纺纱机;一个用于文本选择,另一个用于更改文本颜色。我还有一个全局文本视图,当用户进行选择时,我将所选项目设置为该视图。 当我从颜色微调器中选择字体颜色时,全局文本视图的颜色会像预期的那样发生变化。然后,当我在mt textview微调器中选择另一个textview并选择相同的颜色时,我新选择的文本textview颜色不会改变。很奇怪。但如果我选择的颜色与上次使用的颜色不同,则会更改新选择的textview的颜色。 每次颜色更改后,我都尝试在颜色适配器上调用notifydatachanged(),但没有成功。附近有工作吗? 这是代码

private void setUpColorSpinner() {
        // Create an ArrayAdapter using the string array and a default spinner layout
        final ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.font_colors, R.layout.spinner_list_item);

        // Specify the layout to use when the list of choices appears
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        //Apply the adapter to the spinner
        fColorspinner.setAdapter(adapter);

        fColorspinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long l) {
                switch (parent.getSelectedItemPosition()) {
                    case 0:
                        //leave it blank to set the color to the default color
                        setFontColor(ContextCompat.getColor(context, R.color.WHITE));
                        adapter.notifyDataSetChanged();
                        break;
                    case 1:
                        setFontColor(ContextCompat.getColor(context, R.color.BLACK));
                        adapter.notifyDataSetChanged();
                        break;
                    case 2:
                        setFontColor(ContextCompat.getColor(context, R.color.WHITE));
                        adapter.notifyDataSetChanged();
                        break;
                    case 3:
                        setFontColor(ContextCompat.getColor(context, R.color.BLUE));
                        adapter.notifyDataSetChanged();
                        break;
                    case 4:
                        setFontColor(ContextCompat.getColor(context, R.color.GREEN));
                        adapter.notifyDataSetChanged();
                        break;
                    case 5:
                        setFontColor(ContextCompat.getColor(context, R.color.Yellow));
                        adapter.notifyDataSetChanged();
                        break;
                    case 6:
                        setFontColor(ContextCompat.getColor(context, R.color.RED));
                        adapter.notifyDataSetChanged();
                        break;
                    case 7:
                        setFontColor(ContextCompat.getColor(context, R.color.PURPLE));
                        adapter.notifyDataSetChanged();
                        break;
                    case 8:
                        setFontColor(ContextCompat.getColor(context, R.color.ORANGE));
                        adapter.notifyDataSetChanged();
                        break;
                    case 9:
                        setFontColor(ContextCompat.getColor(context, R.color.OLIVE));
                        adapter.notifyDataSetChanged();
                        break;
                }

            }

            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {

            }
        });
    }

private void setUpTextViewsSpinner() {
        // Create an ArrayAdapter using the string array and a default spinner layout
        ArrayAdapter<CharSequence> cardtext = ArrayAdapter.createFromResource(this, R.array.textviews,
                R.layout.spinner_list_item);

        // Specify the layout to use when the list of choices appears
        cardtext.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        // Apply the adapter to the spinner
        fTextViewsspinner.setAdapter(cardtext);
        final DisplayMetrics tvsmetrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(tvsmetrics);

        fTextViewsspinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
                switch (adapterView.getSelectedItemPosition()) {
                    case 0:
                        //selectedText.setText("");
                        break;
                    case 1:
                        selectedText = text1;
                        break;
                    case 2:
                        selectedText = text2;
                        break;
                }
            }

            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {

            }
        });
    }
private void setUpColorSpinner(){
//使用字符串数组和默认微调器布局创建ArrayAdapter
最终的ArrayAdapter=ArrayAdapter.createFromResource(这个,R.array.font\u颜色,R.layout.spinner\u列表项);
//指定显示选项列表时要使用的布局
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
//将适配器应用于微调器
fColorspinner.setAdapter(适配器);
fColorspinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长l){
开关(parent.getSelectedItemPosition()){
案例0:
//保留为空可将颜色设置为默认颜色
setFontColor(ContextCompat.getColor(context,R.color.WHITE));
adapter.notifyDataSetChanged();
打破
案例1:
setFontColor(ContextCompat.getColor(context,R.color.BLACK));
adapter.notifyDataSetChanged();
打破
案例2:
setFontColor(ContextCompat.getColor(context,R.color.WHITE));
adapter.notifyDataSetChanged();
打破
案例3:
setFontColor(ContextCompat.getColor(context,R.color.BLUE));
adapter.notifyDataSetChanged();
打破
案例4:
setFontColor(ContextCompat.getColor(context,R.color.GREEN));
adapter.notifyDataSetChanged();
打破
案例5:
setFontColor(ContextCompat.getColor(context,R.color.Yellow));
adapter.notifyDataSetChanged();
打破
案例6:
setFontColor(ContextCompat.getColor(context,R.color.RED));
adapter.notifyDataSetChanged();
打破
案例7:
setFontColor(ContextCompat.getColor(context,R.color.PURPLE));
adapter.notifyDataSetChanged();
打破
案例8:
setFontColor(ContextCompat.getColor(context,R.color.ORANGE));
adapter.notifyDataSetChanged();
打破
案例9:
setFontColor(ContextCompat.getColor(context,R.color.OLIVE));
adapter.notifyDataSetChanged();
打破
}
}
@凌驾
未选择公共无效(AdapterView AdapterView){
}
});
}
私有void setUpTextViewsSpinner(){
//使用字符串数组和默认微调器布局创建ArrayAdapter
ArrayAdapter cardtext=ArrayAdapter.createFromResource(此,R.array.textviews,
R.布局.微调器(列表项);
//指定显示选项列表时要使用的布局
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
//将适配器应用于微调器
ftextviewspinner.setAdapter(cardtext);
final DisplayMetrics tvsmetrics=新的DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(tvsmetrics);
fTextViewsspinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView AdapterView、View视图、int i、long l){
开关(adapterView.getSelectedItemPosition()){
案例0:
//selectedText.setText(“”);
打破
案例1:
selectedText=text1;
打破
案例2:
selectedText=text2;
打破
}
}
@凌驾
未选择公共无效(AdapterView AdapterView){
}
});
}

根据您的问题,您使用的事件侦听器中一定存在一些问题


您可以尝试将事件监听器切换到符合您要求的事件监听器。

根据您的问题,您使用的事件监听器中一定有问题


您可以尝试将事件侦听器切换到或与您的要求匹配的任何一个对象。

您可以显示代码吗?哪个类包含这些方法?请用有效的Java语法显示它:
classmyclass{…方法在这里…}
。还有,你什么时候调用这些方法?它们在主活动类中。基本上,你应该向我们展示足够的代码,以便我们可以复制和粘贴它,添加必要的导入,然后自己编译。我的计算机太慢了。我有很多代码要在这里发布。你能帮我吗