SPINNER沟通和结果

时间:2016-09-05 12:47:28

标签: java android spinner

首先,对不起我的英语。我是法国人,我搜索了很多,但我找不到解决方案。我是新手。

我想一起使用3个微调器,一个按钮和一个TextView。

我的问题其实是,我不知道如何将它们联系在一起,以便在TextView上给我一个结果。

我向你解释我想要的(你可以看下面我的代码)。

如果用户在SPINNER旋转中选择“markOne”,则只有“modelOne1”和“modelOne2”将出现在SPINNER spin2中,并且只有“colorOne1”和“colorOne2”将出现在SPINNER spin3中。

在SPINNER spin 3中,如果他选择“colorOne1”:按下btn_valid后,“RED”将出现在TextView中。

如果他选择“ColorOne2”:按下btn_valid后,TextView中会出现“BLUE”。

,否则

如果用户在SPINNER旋转中选择“markTwo”,则只有“modelTwo1”和“modelTwo2”将出现在SPINNER spin2中,并且只有“colorTwo1”和“colorTwo2”将出现在SPINNER spin3中。

在SPINNER spin 3中,如果他选择“colorTwo1”:按下btn_valid后,“ORANGE”将出现在TextView中。

如果他选择“ColorTwo2”:按下btn_valid后,“PINK”将出现在TextView中。

我知道这是具体的,并花时间帮助我完成我的代码。我没有找到一个带有3个微调器,按钮,TextView的工作教程,当你是法国人时,它真的很难!

希望你帮帮我。

非常感谢。

我的班级

public class Main extends AppCompatActivity implements AdapterView.OnItemSelectedListener {

String[] mark = {"markOne","markTwo"};
String[] model = {"modelOne1","modelOne2","modelTwo1","modelTwo2"};
String[] color = {"colorOne1","colorOne2","colorTwo1" ,"colorTwo2"};
private Button btn_valid;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Spinner spin = (Spinner) findViewById(R.id.spinner);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, mark);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spin.setAdapter(adapter);
    spin.setOnItemSelectedListener(this);

    Spinner spin2 = (Spinner) findViewById(R.id.spinner2);
    ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, model);
    adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spin2.setAdapter(adapter2);
    spin2.setOnItemSelectedListener(this);

    Spinner spin3 = (Spinner) findViewById(R.id.spinner3);
    ArrayAdapter<String> adapter3 = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, color);
    adapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spin3.setAdapter(adapter3);
    spin3.setOnItemSelectedListener(this);
}

public void onItemSelected(AdapterView<?> parent, View v, int position, long id ){
}

public void onNothingSelected(AdapterView<?> parent){
}}

1 个答案:

答案 0 :(得分:1)

嗨朋友我在途中尝试了这段代码我跳了它对你有用

// Class1 is your classname and firstname is your property of class
string localizedName = Testing.GetDisplayName2<Class1, string>(i => i.firstname);

}

Spinner spn1,spn2,spn3;
TextView txtResult;
String spn_1_Selected_item;
Button btnResult;

String[] spinn_mark1 = {"SelectMode","markOne","markTwo"};
String[] spinn_mode2 = {"modelOne1","modelOne2","modelTwo1","modelTwo2"};
String[] spinn_color = {"colorOne1","colorOne2","colorTwo1" ,"colorTwo2"};

ArrayAdapter adapterSpinner_1,adapterSpinner_2,adapterSpinner_3;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    spn1= (Spinner) findViewById(R.id.spinner_con_1);
    spn2= (Spinner) findViewById(R.id.spinner_con_2);
    spn3= (Spinner) findViewById(R.id.spinner_con_3);

    txtResult= (TextView) findViewById(R.id.txtResult);

    btnResult= (Button) findViewById(R.id.btnSubmit);


    adapterSpinner_1=new ArrayAdapter(getApplication(),android.R.layout.simple_spinner_dropdown_item,spinn_mark1);
    spn1.setAdapter(adapterSpinner_1);
            spn1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                @Override
                public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                    spn_1_Selected_item = parent.getItemAtPosition(position).toString();
                    if(spn_1_Selected_item.equals("SelectMode"))
                        txtResult.setText("");
                    if(spn_1_Selected_item.equals("markOne")){
                        String model1[]={spinn_mode2[0] , spinn_mode2[1]};
                        String color1[]={spinn_color[0],spinn_color[1]};

                        adapterSpinner_2=new ArrayAdapter(getApplication(),android.R.layout.simple_spinner_dropdown_item,model1);
                        spn2.setAdapter(adapterSpinner_2);

                        adapterSpinner_3=new ArrayAdapter(getApplication(),android.R.layout.simple_spinner_dropdown_item,color1);
                        spn3.setAdapter(adapterSpinner_3);
                        spn3.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                            @Override
                            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                                String colorSelected = parent.getItemAtPosition(position).toString();
                                if(colorSelected.equals("colorOne1"))
                                    txtResult.setText("Red");
                                if(colorSelected.equals("colorOne2"))
                                    txtResult.setText("Blue");
                            }

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

                            }
                        });

                    }
                    if(spn_1_Selected_item.equals("markTwo")){
                        String model1[]={spinn_mode2[2] , spinn_mode2[3]};
                        String color1[]={spinn_color[2],spinn_color[3]};

                        adapterSpinner_2=new ArrayAdapter(getApplication(),android.R.layout.simple_spinner_dropdown_item,model1);
                        spn2.setAdapter(adapterSpinner_2);

                        adapterSpinner_3=new ArrayAdapter(getApplication(),android.R.layout.simple_spinner_dropdown_item,color1);
                        spn3.setAdapter(adapterSpinner_3);


                        spn3.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                            @Override
                            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                                String colorSelected = parent.getItemAtPosition(position).toString();
                                if(colorSelected.equals("colorTwo1"))
                                    txtResult.setText("Orange");
                                if(colorSelected.equals("colorTwo2"))
                                    txtResult.setText("Pink");
                            }

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

                            }
                        });

                    }
                }

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

                }
            });

        }