Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.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
Java 基于两个微调器更改图像_Java_Android_Image - Fatal编程技术网

Java 基于两个微调器更改图像

Java 基于两个微调器更改图像,java,android,image,Java,Android,Image,我花了大约3天的时间寻找这个答案,最后我决定自己创造这个问题 基本上我有一个活动,上面有两个旋转器。一个是头发的类型,另一个是头发的颜色。你知道我要说什么了。我希望能够根据所选的两个项目更改图片(头部) 万一我说不通,举个例子: 已加载活动(微调器设置为“秃顶”和“黑色”) 头发是秃顶的 将头发类型更改为“男性短发” 头发变为黑色的男性短发 将颜色更改为“金发” 头发变为短的金色男性头发 但是第三步不行 这段代码太长了,但大部分代码都是重复的,所以不应该花太长时间来理解:) 非常感谢

我花了大约3天的时间寻找这个答案,最后我决定自己创造这个问题

基本上我有一个活动,上面有两个旋转器。一个是头发的类型,另一个是头发的颜色。你知道我要说什么了。我希望能够根据所选的两个项目更改图片(头部)

万一我说不通,举个例子:

  • 已加载活动(微调器设置为“秃顶”和“黑色”)
    • 头发是秃顶的
  • 将头发类型更改为“男性短发”
    • 头发变为黑色的男性短发
  • 将颜色更改为“金发”
    • 头发变为短的金色男性头发
  • 但是第三步不行

    这段代码太长了,但大部分代码都是重复的,所以不应该花太长时间来理解:)


    非常感谢您提供的任何帮助,谢谢。

    您必须将开关分为两个不同的开关,一个用于发型,另一个用于发型。您现在要做的是获得发型和休息,而不是颜色方面

            if (view == hairSpinner){
            switch (item){
                case "Bald":
                case "Female Short":
                case "Female Medium":
                case "Female Long":
                case "Male Short":
                case "Male Medium":
                case "Male Long":
                    type = item;
                    break;
            }
        }
        else{
            switch (item){
                case "Black":
                case "Blonde":
                case "Blue":
                case "Brown":
                case "Ginger":
                case "Green":
                case "Red":
                    color = item;
                    break;
            }
        }
    

    你必须将开关分为两个不同的开关,一个用于发型,另一个用于发型。你现在要做的是得到发型和休息,而不是颜色方面

            if (view == hairSpinner){
            switch (item){
                case "Bald":
                case "Female Short":
                case "Female Medium":
                case "Female Long":
                case "Male Short":
                case "Male Medium":
                case "Male Long":
                    type = item;
                    break;
            }
        }
        else{
            switch (item){
                case "Black":
                case "Blonde":
                case "Blue":
                case "Brown":
                case "Ginger":
                case "Green":
                case "Red":
                    color = item;
                    break;
            }
        }
    

    杰拉尔多的答案在你的情况下是正确的。但这将是一个非常长的时间,因为你有很多类型和颜色,而且它不会是非常可定制的。

    如果我是你,我会尝试为该类型创建可绘制样式(只有形状,没有颜色),以及颜色的可绘制性。在这种情况下,您可以轻松地将颜色应用于类型,并将类型应用于颜色,只需两个简单的变量即可识别当前类型和当前颜色。

    杰拉尔多的答案在您的情况下是正确的答案。但这将是一个非常长的时间,因为您有很多类型和颜色,并且不会非常复杂可省略。

    如果我是你,我会尝试为该类型创建可绘制样式(只有形状,没有颜色),以及颜色可绘制。在这种情况下,您可以轻松地将颜色应用于类型,并将类型应用于颜色,只需两个简单的变量即可识别当前类型和当前颜色。

    David您是对的,而且他甚至不需要使用开关,因为下一个将具有相同的效果

            String type=null;
        String color=null;
    
        if (view==hairSpinner)
            type = parent.getItemAtPosition(position).toString();
        else
            color = parent.getItemAtPosition(position).toString();
    

    大卫:你是对的,而且他甚至不需要使用开关,因为下一个开关也会有同样的效果

            String type=null;
        String color=null;
    
        if (view==hairSpinner)
            type = parent.getItemAtPosition(position).toString();
        else
            color = parent.getItemAtPosition(position).toString();
    

    我的意思是这样的:

    public class Test
    extends AppCompatActivity
    implements OnItemSelectedListener{
    
    
    private Spinner hairSpinner;    
    private Spinner hairColor;
    
    
    
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    
        ...
        hairSpinner = (Spinner) findViewById(R.id.hairSpinner);
        ...
        hairColor = (Spinner) findViewById(R.id.hairColor);
        ...
    }
    
    
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id){
        String type=null;
        String color=null;
    
        if (view==hairSpinner)
        type = parent.getItemAtPosition(position).toString();
            else
        color = parent.getItemAtPosition(position).toString();
    }
    
    公共类测试
    扩展AppCompative活动
    实现MSelectedListener{
    私人纺纱工;
    私人旋转发型;
    创建时受保护的void(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    ...
    hairSpinner=(Spinner)findViewById(R.id.hairSpinner);
    ...
    hairColor=(微调器)findviewbyd(R.id.hairColor);
    ...
    }
    已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
    字符串类型=null;
    字符串颜色=空;
    如果(视图==头发微调器)
    type=parent.getItemAtPosition(position.toString();
    其他的
    color=parent.getItemAtPosition(position.toString();
    }
    

    }我的意思是这样的:

    public class Test
    extends AppCompatActivity
    implements OnItemSelectedListener{
    
    
    private Spinner hairSpinner;    
    private Spinner hairColor;
    
    
    
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    
        ...
        hairSpinner = (Spinner) findViewById(R.id.hairSpinner);
        ...
        hairColor = (Spinner) findViewById(R.id.hairColor);
        ...
    }
    
    
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id){
        String type=null;
        String color=null;
    
        if (view==hairSpinner)
        type = parent.getItemAtPosition(position).toString();
            else
        color = parent.getItemAtPosition(position).toString();
    }
    
    公共类测试
    扩展AppCompative活动
    实现MSelectedListener{
    私人纺纱工;
    私人旋转发型;
    创建时受保护的void(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    ...
    hairSpinner=(Spinner)findViewById(R.id.hairSpinner);
    ...
    hairColor=(微调器)findviewbyd(R.id.hairColor);
    ...
    }
    已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
    字符串类型=null;
    字符串颜色=空;
    如果(视图==头发微调器)
    type=parent.getItemAtPosition(position.toString();
    其他的
    color=parent.getItemAtPosition(position.toString();
    }
    

    }

    这一次它应该能工作

    public class MainActivity
        extends AppCompatActivity
        implements OnItemSelectedListener{
    
    
    private Spinner hairSpinner;
    private Spinner hairColor;
    private String type;
    private String color;
    private ImageView imageView;
    private List<String> hairTypeArray = new ArrayList<String>();
    private List<String> hairColorArray = new ArrayList<String>();
    
    
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.head_zoom);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        imageView = (ImageView)findViewById(R.id.head);
    
        type="Bald";
    
        hairSpinner = (Spinner) findViewById(R.id.hairSpinner);
        hairSpinner.setOnItemSelectedListener(this);
        hairTypeArray.add("Bald");
        hairTypeArray.add("Female Short");
        hairTypeArray.add("Female Medium");
        hairTypeArray.add("Female Long");
        hairTypeArray.add("Male Short");
        hairTypeArray.add("Male Medium");
        hairTypeArray.add("Male Long");
        ArrayAdapter<String> hairTypeAdapter = new ArrayAdapter<String>(this,
                                                                        android.R.layout.simple_spinner_item, hairTypeArray);
        hairTypeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        hairSpinner.setAdapter(hairTypeAdapter);
    
        color = "Black";
    
        hairColor = (Spinner) findViewById(R.id.hairColor);
        hairColor.setOnItemSelectedListener(this);
        hairColorArray.add("Black");
        hairColorArray.add("Blonde");
        hairColorArray.add("Blue");
        hairColorArray.add("Brown");
        hairColorArray.add("Ginger");
        hairColorArray.add("Green");
        hairColorArray.add("Red");
        ArrayAdapter<String> hairColorAdapter = new ArrayAdapter<String>(this,
                                                                         android.R.layout.simple_spinner_item, hairColorArray);
        hairColorAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        hairColor.setAdapter(hairColorAdapter);
    }
    
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id){
    
        if (parent.getId()==hairSpinner.getId())
            type = hairTypeArray.get(position);
        else
            color = hairColorArray.get(position);
    
    
        switch(type){
            case "Bald":
                imageView.setImageResource((R.drawable.sw_head));
                break;
            case "Female Short":
                if(color=="Black")
                    imageView.setImageResource(R.drawable.fhair_short_black);
                else if(color=="Blonde")
                    imageView.setImageResource(R.drawable.fhair_short_blonde);
                else if(color=="Blue")
                    imageView.setImageResource(R.drawable.fhair_short_blue);
                else if(color=="Brown")
                    imageView.setImageResource(R.drawable.fhair_short_brown);
                else if(color=="Ginger")
                    imageView.setImageResource(R.drawable.fhair_short_ginger);
                else if(color=="Green")
                    imageView.setImageResource(R.drawable.fhair_short_green);
                else if(color=="Red")
                    imageView.setImageResource(R.drawable.fhair_short_red);
                break;
            case "Female Medium":
                if(color=="Black")
                    imageView.setImageResource(R.drawable.fhair_med_black);
                else if(color=="Blonde")
                    imageView.setImageResource(R.drawable.fhair_med_blonde);
                else if(color=="Blue")
                    imageView.setImageResource(R.drawable.fhair_med_blue);
                else if(color=="Brown")
                    imageView.setImageResource(R.drawable.fhair_med_brown);
                else if(color=="Ginger")
                    imageView.setImageResource(R.drawable.fhair_med_ginger);
                else if(color=="Green")
                    imageView.setImageResource(R.drawable.fhair_med_green);
                else if(color=="Red")
                    imageView.setImageResource(R.drawable.fhair_med_red);
                break;
            case "Female Long":
                if(color=="Black")
                    imageView.setImageResource(R.drawable.fhair_long_black);
                else if(color=="Blonde")
                    imageView.setImageResource(R.drawable.fhair_long_blonde);
                else if(color=="Blue")
                    imageView.setImageResource(R.drawable.fhair_long_blue);
                else if(color=="Brown")
                    imageView.setImageResource(R.drawable.fhair_long_brown);
                else if(color=="Ginger")
                    imageView.setImageResource(R.drawable.fhair_long_ginger);
                else if(color=="Green")
                    imageView.setImageResource(R.drawable.fhair_long_green);
                else if(color=="Red")
                    imageView.setImageResource(R.drawable.fhair_long_red);
                break;
            case "Male Short":
                if(color=="Black")
                    imageView.setImageResource(R.drawable.mhair_short_black);
                else if(color=="Blonde")
                    imageView.setImageResource(R.drawable.mhair_short_blonde);
                else if(color=="Blue")
                    imageView.setImageResource(R.drawable.mhair_short_blue);
                else if(color=="Brown")
                    imageView.setImageResource(R.drawable.mhair_short_brown);
                else if(color=="Ginger")
                    imageView.setImageResource(R.drawable.mhair_short_ginger);
                else if(color=="Green")
                    imageView.setImageResource(R.drawable.mhair_short_green);
                else if(color=="Red")
                    imageView.setImageResource(R.drawable.mhair_short_red);
                break;
            case "Male Medium":
                if(color=="Black")
                    imageView.setImageResource(R.drawable.mhair_med_black);
                else if(color=="Blonde")
                    imageView.setImageResource(R.drawable.mhair_med_blonde);
                else if(color=="Blue")
                    imageView.setImageResource(R.drawable.mhair_med_blue);
                else if(color=="Brown")
                    imageView.setImageResource(R.drawable.mhair_med_brown);
                else if(color=="Ginger")
                    imageView.setImageResource(R.drawable.mhair_med_ginger);
                else if(color=="Green")
                    imageView.setImageResource(R.drawable.mhair_med_green);
                else if(color=="Red")
                    imageView.setImageResource(R.drawable.mhair_med_red);
                break;
            case "Male Long":
                if(color=="Black")
                    imageView.setImageResource(R.drawable.mhair_long_black);
                else if(color=="Blonde")
                    imageView.setImageResource(R.drawable.mhair_long_blonde);
                else if(color=="Blue")
                    imageView.setImageResource(R.drawable.mhair_long_blue);
                else if(color=="Brown")
                    imageView.setImageResource(R.drawable.mhair_long_brown);
                else if(color=="Ginger")
                    imageView.setImageResource(R.drawable.mhair_long_ginger);
                else if(color=="Green")
                    imageView.setImageResource(R.drawable.mhair_long_green);
                else if(color=="Red")
                    imageView.setImageResource(R.drawable.mhair_long_red);
                break;
        }
    }
    
    public void onNothingSelected(AdapterView<?> parent){
    }
    
    公共类活动
    扩展AppCompative活动
    实现MSelectedListener{
    私人纺纱工;
    私人旋转发型;
    私有字符串类型;
    私有字符串颜色;
    私人影像视图;
    private List hairTypeArray=new ArrayList();
    private List hairolorarray=new ArrayList();
    创建时受保护的void(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(右布局、头部缩放);
    Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar);
    设置支持操作栏(工具栏);
    imageView=(imageView)findViewById(R.id.head);
    type=“Bald”;
    hairSpinner=(Spinner)findViewById(R.id.hairSpinner);
    hairSpinner.setonimselectedListener(此);
    hairTypeArray.add(“Bald”);
    hairTypeArray.添加(“女性短发”);
    hairTypeArray.添加(“女性中位”);
    hairTypeArray.添加(“女性长”);
    hairTypeArray.add(“男性短发”);
    hairTypeArray.添加(“男性中”);
    hairTypeArray.add(“男性长”);
    ArrayAdapter hairTypeAdapter=新的ArrayAdapter(此,
    android.R.layout.simple_微调器_项,hairTypeArray);
    hairTypeAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
    hairSpinner.setAdapter(hairTypeAdapter);
    color=“黑色”;
    hairColor=(微调器)findviewbyd(R.id.hairColor);
    hairColor.setOnItemSelectedListener(此);
    添加(“黑色”);
    头发颜色。添加(“金发”);
    添加(“蓝色”);
    添加(“棕色”);
    头发颜色。添加(“生姜”);
    添加(“绿色”);
    添加(“红色”);
    ArrayAdapter HairolorAdapter=新的ArrayAdapter(此,
    android.R.layout.simple_微调器_项目,hairoloraray);
    hairoloradapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
    发色器;毛色器(发色器);
    }
    已选择公共无效项(AdapterView父项、Vie