2016-09-05 6 views
1

まず、私の英語はすみません。私はフランス語で、私は多くを検索しましたが、私は解決策を見つけることができません。私は初心者です。スピナーとの通信と結果

3つのスピナーを1つのボタンと1つのTextViewで使用したいと考えています。

私の問題は実際には、それらを一緒に通信してTextViewで結果を得る方法がわかりません。

私はあなたが好きなことを説明したいと思います(そして私のコードは以下をご覧ください)。

スピナースピンで「markOne」を選択すると、スピナースピン2に「modelOne1」と「modelOne2」のみが表示され、スピナースピン3には「colorOne1」と「colorOne2」のみが表示されます。

スピナースピン3では、「colorOne1」を選択した場合:btn_validを押すと、「RED」がTextViewに表示されます。

「ColorOne2」を選択した場合:btn_validを押すと、「BLUE」がTextViewに表示されます。

OTHERWISE

ユーザーがSPINNERスピン、唯一の "modelTwo1" で "markTwo" を選択し、 "modelTwo2は、" スピナーspin2に表示され、唯一の "colorTwo1" と "colorTwo2は" スピナーspin3に表示されます。

スピナースピン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){ 
}} 
+0

に便利な、私はそれをホップ私の方法でこのコードをしますしてみてください階層的なスピナーという名前のこの例を参照してください。http://stackoverflow.com/questions/4001047/having-multiple-spinners-in-android –

答えて

1

こんにちは友人は、これはあなた

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) { 

       } 
      }); 

     } 

}

<TextView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="Spinner Control" 
    android:padding="20sp" 
    android:background="#f00" 
    android:textSize="15sp" 
    android:textColor="#fff" 
    style="@style/Platform.AppCompat.Light" 
    /> 

<Spinner 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="10sp" 
    android:id="@+id/spinner_con_1" 
    /> 

<Spinner 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="10sp" 
    android:id="@+id/spinner_con_2" 
    /> 
<Spinner 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="10sp" 
    android:id="@+id/spinner_con_3" 
    /> 

<TextView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/txtResult" 
    android:layout_margin="10sp" 
    android:textSize="30sp" 
    android:textColor="#f00" 
    /> 

<Button 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/btnSubmit" 
    android:layout_margin="10sp" 
    android:text="Submit" 
    android:background="#f00" 
    android:textColor="#fff" 
    style="@style/Platform.AppCompat.Light" 
    android:textSize="20sp" 
    /> 
+0

こんにちはDHruv。まず、ありがとうございます。私はtは良い基盤だと思うが、このコードは私のためには役に立たない。間違っているようです。たぶんあなたは何かを忘れるかもしれない、私は知らない。コードを選択した直後にコードを表示するそれは私がモデルを選ぶのを待たずにいた。私はそれに取り組み、修正しようとするが、私の問題は解決していない。 –

関連する問題