Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.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_Spinner_Listitem - Fatal编程技术网

Android 无法更改微调器中项目的颜色

Android 无法更改微调器中项目的颜色,android,spinner,listitem,Android,Spinner,Listitem,我在代码中添加了两个微调器。但默认情况下,微调器的项目以黑色显示。我想更改微调器项的颜色。我已在simple\u spinner\u item.xml文件中添加了颜色。但是颜色没有改变。我已经在这里粘贴了我的代码。请帮助我 public class Alert_activity extends Activity implements OnItemSelectedListener{ Spinner s1,s2; @Override protected void onCreate(

我在代码中添加了两个微调器。但默认情况下,微调器的项目以黑色显示。我想更改微调器项的颜色。我已在simple\u spinner\u item.xml文件中添加了颜色。但是颜色没有改变。我已经在这里粘贴了我的代码。请帮助我

 public class Alert_activity extends Activity implements OnItemSelectedListener{
Spinner s1,s2;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
        setContentView(R.layout.alert_activity);
        s1 = (Spinner)findViewById(R.id.spinner1);
        s2 = (Spinner)findViewById(R.id.spinner2);
        s1.setOnItemSelectedListener(this);
    }
    @Override
    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        String sp1= String.valueOf(s1.getSelectedItem());
         if(sp1.contentEquals("Events")) {
            List<String> list = new ArrayList<String>();
            list.add("Heavy Rain(mm/hr)");
            list.add("Smoke/Fog");
            list.add("Heat/Cold Wave");
            list.add("Strong Winds");
            ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, list);
            dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            dataAdapter.notifyDataSetChanged();
            s2.setAdapter(dataAdapter);
            s2.setOnItemSelectedListener(new OnItemSelectedListener() {
                @Override
                public void onItemSelected(AdapterView<?> adapter, View v,
                        int position, long id) {
                    // On selecting a spinner item
                    String item = adapter.getItemAtPosition(position).toString();
                                    Log.d("Item",item);
                     FragmentTransaction tx = getFragmentManager() .beginTransaction();
                     if(item=="Heavy Rain(mm/hr)")
                    {
                        tx.replace(android.R.id.content, new heavyrain());
                                    tx.commit();
                                 }
            });
        }
        if(sp1.contentEquals("Forecast")) {
            List<String> list = new ArrayList<String>();
            list.add("Heavy Rain(mm/hr)");
            list.add("Cyclone");
            list.add("Cloudburst");
            ArrayAdapter<String> dataAdapter2 = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, list);
            dataAdapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            dataAdapter2.notifyDataSetChanged();
            s2.setAdapter(dataAdapter2);
            s2.setOnItemSelectedListener(new OnItemSelectedListener() {

                @Override
                public void onItemSelected(AdapterView<?> adapter, View v,
                        int position, long id) {
                            String item = adapter.getItemAtPosition(position).toString();
                    Log.d("Inside loop","inside loop");
                         FragmentTransaction tx = getFragmentManager() .beginTransaction();
                                 if(item=="Cyclone")
                    {
                        tx.replace(android.R.id.content, new Cyclone());
                    }       
                            else if(item=="Heavy Rain(mm/hr)")
                    {
                        tx.replace(android.R.id.content, new forecast_heavyrain());

                               }
                    else if(item=="Cloudburst")
                    {
                        tx.replace(android.R.id.content, new forecast_cloudburst());
                    }
                    tx.commit();
                }

                            });
}
}
simple_spinner_item.xml 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1"
    style="?android:attr/spinnerItemStyle"
    android:singleLine="true"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ellipsize="marquee"
    android:textAlignment="inherit"
    android:textColor="#FFFFFF"/>
public class Alert_活动扩展活动实现了MSelectedListener{
旋转器s1、s2;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.alert_活动);
s1=(喷丝器)findViewById(R.id.spinner1);
s2=(喷丝器)findViewById(R.id.喷丝器2);
s1.setOnItemSelectedListener(此);
}
@凌驾
已选择公共视图(AdapterView arg0、视图arg1、内部arg2、长arg3){
String sp1=String.valueOf(s1.getSelectedItem());
if(sp1.contentEquals(“事件”)){
列表=新的ArrayList();
增加(“大雨(毫米/小时)”;
列表。添加(“烟雾/雾”);
列表。添加(“热浪/冷浪”);
添加(“强风”);
ArrayAdapter dataAdapter=新的ArrayAdapter(这是android.R.layout.simple\u微调器\u项,列表);
dataAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉项);
dataAdapter.notifyDataSetChanged();
s2.设置适配器(数据适配器);
s2.setOnItemSelectedListener(新的OnItemSelectedListener(){
@凌驾
已选择公共视图(适配器视图适配器,视图v,
内部位置,长id){
//关于选择微调器项
String item=adapter.getItemAtPosition(位置).toString();
日志d(“项目”,项目);
FragmentTransaction tx=getFragmentManager().beginTransaction();
如果(项目==“大雨(毫米/小时)”)
{
tx.replace(android.R.id.content,new heavyrain());
tx.commit();
}
});
}
if(sp1.contentEquals(“预测”)){
列表=新的ArrayList();
增加(“大雨(毫米/小时)”;
列表。添加(“旋风”);
添加(“云暴”);
ArrayAdapter dataAdapter2=新的ArrayAdapter(此,
android.R.layout.simple\u微调器\u项目,列表);
dataAdapter2.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
dataAdapter2.notifyDataSetChanged();
s2.设置适配器(数据适配器2);
s2.setOnItemSelectedListener(新的OnItemSelectedListener(){
@凌驾
已选择公共视图(适配器视图适配器,视图v,
内部位置,长id){
String item=adapter.getItemAtPosition(位置).toString();
Log.d(“内环”、“内环”);
FragmentTransaction tx=getFragmentManager().beginTransaction();
如果(项目==“旋风分离器”)
{
tx.replace(android.R.id.content,new Cyclone());
}       
否则,如果(项目==“大雨(毫米/小时)”)
{
tx.replace(android.R.id.content,newforecast_heavyrain());
}
否则,如果(项目==“云爆发”)
{
tx.replace(android.R.id.content,newforecast_cloudburst());
}
tx.commit();
}
});
}
}
simple_spinner_item.xml

私有OnItemSelectedListener OnCatSpinnerCL=new AdapterView.OnItemSelectedListener(){ 已选择公共视图(AdapterView父视图、视图、int pos、, 长id){

((TextView)parent.getChildAt(0)).setTextColor(Color.BLUE);
((TextView)parent.getChildAt(0)).setTextSize(5);
}
未选择公共无效(AdapterView父级){
}
})


或者参考此链接:

如果
简单微调器项目.xml
包含微调器项目的背景色,则使用

dataAdapter.setDropDownViewResource(R.layout.simple_spinner_item);
而不是
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

同样地

dataAdapter.setDropDownViewResource(R.layout.simple_spinner_item);
而不是
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);


您可能还必须将
ArrayAdapter
中的布局集更改为自定义布局以解决此问题。

onclick事件中的颜色已更改,但我希望在初始化时使用白色。因此,我应该在哪里更改代码?将getview方法覆盖到数组适配器并更改其中的颜色
    ((TextView) parent.getChildAt(0)).setTextColor(Color.BLUE);
    ((TextView) parent.getChildAt(0)).setTextSize(5);



}

public void onNothingSelected(AdapterView<?> parent) {

}