2017-07-20 4 views
0

私はアンドロイドを初めて使いました。このコードでは2つのスピナーがあり、選択した値に基づいて異なるレイアウトが開きます。私はスピナーのためのOnItemSelectedの内部で、異なるレイアウトを開くためにどのロジックを使用すべきですか?私はスピナーに5つのアイテムがあり、それぞれのアイテムに対して5つのレイアウトがあります。2つのスピナーで選択された値に基づいて異なるレイアウトを開く

ご迷惑をおかけして申し訳ございません。前もって感謝します。

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.layout); 
    // Spinner element 
    Spinner spinner1 = (Spinner) findViewById(R.id.spinner1); 
    Spinner spinner2 = (Spinner) findViewById(R.id.spinner2); 
    Button button = (Button) findViewById(R.id.button); 
    // Spinner click listener 

    // Spinner Drop down elements 
    List<String> categories = new ArrayList<String>(); 
    categories.add("Maruti"); 
    categories.add("Ford"); 
    categories.add("Nissan"); 
    categories.add("TATA"); 

    List<String> types = new ArrayList<String>(); 
    types.add("1Lakh-5Lakh"); 
    types.add("5Lakh-10Lakh"); 
    types.add("10Lakh-20Lakh"); 
    types.add("20Lakh-50Lakh"); 
    types.add("Above 50Lakhs"); 

    // Creating adapter for spinner 
    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories); 
    // Drop down layout style - list view with radio button 
    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

    ArrayAdapter<String> spinner2Adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,types); 
    spinner2Adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

    // attaching data adapter to spinner 
    spinner1.setAdapter(dataAdapter); 
    spinner2.setAdapter(spinner2Adapter); 

    spinner1.setOnItemSelectedListener(this); 
    spinner2.setOnItemSelectedListener(this); 

    button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent i=new Intent(SecondActivity.this,ThirdActivity.class); 
      startActivity(i); 
     } 
    }); 
} 

@Override 
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
    Spinner spinner1 = (Spinner)parent; 
    Spinner spinner2 = (Spinner)parent; 
    if(spinner1.equals(position)) 
    { 

    } 
    if(spinner2.getId() == R.id.spinner2) 
    { 

    } 

} 
public void onNothingSelected(AdapterView<?> arg0) { 
    // TODO Auto-generated method stub 
}} 

答えて

0

下記を試してください。 ボタンのonClickListenerをチェックします。このボタンは、開くアクティビティを決定します。

Spinner spinner1; 
Spinner spinner2; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.layout); 
    // Spinner element 
    spinner1 = (Spinner) findViewById(R.id.spinner1); 
    spinner2 = (Spinner) findViewById(R.id.spinner2); 
    Button button = (Button) findViewById(R.id.button); 
    // Spinner click listener 
// Spinner Drop down elements 
List<String> categories = new ArrayList<String>(); 
categories.add("Maruti"); 
categories.add("Ford"); 
categories.add("Nissan"); 
categories.add("TATA"); 

List<String> types = new ArrayList<String>(); 
types.add("1Lakh-5Lakh"); 
types.add("5Lakh-10Lakh"); 
types.add("10Lakh-20Lakh"); 
types.add("20Lakh-50Lakh"); 
types.add("Above 50Lakhs"); 

// Creating adapter for spinner 
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories); 
// Drop down layout style - list view with radio button 
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

ArrayAdapter<String> spinner2Adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,types); 
spinner2Adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

// attaching data adapter to spinner 
spinner1.setAdapter(dataAdapter); 
spinner2.setAdapter(spinner2Adapter); 

spinner1.setOnItemSelectedListener(this); 
spinner2.setOnItemSelectedListener(this); 

button.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     Intent i; 
     if(spinner1_selected_item.equals("Maruti")) 
     { 
      if(spinner2_selected_item.equals("1Lakh-5Lakh")) 
       i=new Intent(SecondActivity.this,ThirdActivity.class); 
      if(spinner2_selected_item.equals("5Lakh-10Lakh")) 
       i=new Intent(SecondActivity.this,FourthActivity.class);  
      if(spinner2_selected_item.equals("10Lakh-20Lakh")) 
       i=new Intent(SecondActivity.this,FifthActivity.class);   
     } 

     startActivity(i); 
    } 
}); 
} 

String spinner1_selected_item; 
String spinner2_selected_item; 
@Override 
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
    if(spinner1.getId() == R.id.spinner1) 
    { 
     spinner1_selected_item = parent.getItemAtPosition(position).toString(); 
    } 
    if(spinner2.getId() == R.id.spinner2) 
    { 
     spinner2_selected_item = parent.getItemAtPosition(position).toString(); 
    } 
} 

public void onNothingSelected(AdapterView<?> arg0) { 
    // TODO Auto-generated method stub 
}} 
関連する問題