2016-03-21 20 views
1

Çok fazla iplik aleti, çevirme ve çevirme makinesi2, birincisi standart bir menüye sahip, ikincisi ise döndürücüye göre değişmelidir.Dönen parçacığın içeriğini dinamik olarak başka bir iplikçi ürününe dönüştürün

Çevirici içinde seçilen öğenin konumunu almaya çalışıyorum ve daha sonra spinner'ın 2 öğesini değiştirmek için item2sp metoduna parametre olarak atıyorum.

ama değişmiyor, sadece spinner2'deki ilk ürün menüsünü almaya devam ediyorum, nasıl düzeltebilirim lütfen bana yardımcı olun.

public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener { 

Spinner spinner2; 

List<String> categories; 
List<String> ndp; 
List<String> ps; 
ArrayAdapter<String> dataAdapter; 
ArrayAdapter<String> ndpAdapter; 
ArrayAdapter<String> psAdapter; 

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

// Spinner element 
Spinner spinner = (Spinner) findViewById(R.id.spinner1); 
Spinner spinner2 = (Spinner) findViewById(R.id.spinner2); 

// Spinner click listener 
spinner.setOnItemSelectedListener(this); 
spinner2.setOnItemSelectedListener(this); 

// Spinner Drop down elements 
categories = new ArrayList<String>(); 
categories.add("NDP"); 
categories.add("PS"); 
categories.add("PA"); 
categories.add("PC"); 
categories.add("PH"); 

ps = new ArrayList<String>(); 
ps.add("AA"); 
ps.add("BB"); 
ps.add("CC"); 

ndp = new ArrayList<String>(); 
ndp.add("RP"); 
ndp.add("AFF"); 
ndp.add("RPA"); 




// Creating adapter for spinner 
dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories); 
psAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, ps); 
ndpAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, ndp); 

// Drop down layout style - list view with radio button 
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
psAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
ndpAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

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

} 

public void itemsp2 (int position){ 
switch (position){ 
case 0: 
spinner2.setAdapter(ndpAdapter); 
Toast.makeText(getBaseContext(), ""+position, Toast.LENGTH_LONG).show(); 

break; 
case 1: 
spinner2.setAdapter(psAdapter); 
Toast.makeText(getBaseContext(), ""+position, Toast.LENGTH_LONG).show(); 
break; 
} 


} 
// int position = spinner.getSelectedItemPosition(); 

public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
// On selecting a spinner item 
String item = parent.getItemAtPosition(position).toString(); 
itemsp2(position); 

// Showing selected spinner item 
// Toast.makeText(parent.getContext(), "Selected: " + item, Toast.LENGTH_LONG).show(); 
} 


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

Gördüğünüz gibi, yerel bir değişken olan 'spinner2' ve global bir değişkeniniz var. Dolayısıyla, sorununuzun gölgelenmesi olabilir. – Shark

+0

sorun değil –

cevap

0

iller benim ilk Listesi ve ben bu listeyi benim köknar set spinner sonra bu spinner için onItemSelected yöntemini uygular. Bu yöntemde ikinci spinerinizi difrent List ile ekleyebilirsiniz.

Spinner spinner = (Spinner) findViewById(R.id.spinner); 
      spinner.setOnItemSelectedListener(this); 
      List<String> iller = new ArrayList<String>(); 
      iller.add("İl Seçiniz.."); 
      iller.add("Antalya"); 
      iller.add("Burdur"); 
      iller.add("Bursa"); 
      iller.add("Balıkesir"); 
      iller.add("Giresun"); 
      iller.add("İstanbul"); 
      ArrayAdapter<String> illerAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, iller); 
      illerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
      spinner.setAdapter(illerAdapter); 

      spinner2 = (Spinner) findViewById(R.id.spinner2); 
      spinner2.setVisibility(View.INVISIBLE); 

      editText = (EditText) findViewById(R.id.editText); 
      editText.setVisibility(View.INVISIBLE); 
     } 

     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
      int itemId = (int) id; 
      if (itemId == 1) { 
       iller.remove("İl Seçiniz.."); 
       antalyaİlceler = new ArrayList<String>(); 
       antalyaİlceler.add("İlçe Seçiniz.."); 
       antalyaİlceler.add("Konyaaltı"); 
       antalyaİlceler.add("Muratpaşa"); 
       antalyaİlceler.add("Alanya"); 
       antalyaİlceler.add("Manavgat"); 

       ArrayAdapter<String> antalyaİlcelerAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, antalyaİlceler); 
       antalyaİlcelerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
       spinner2.setAdapter(antalyaİlcelerAdapter); 
       spinner2.setVisibility(View.VISIBLE); 
       editText.setVisibility(View.VISIBLE); 
      } else if (itemId == 2) { 
       burdurİlceler = new ArrayList<String>(); 
       burdurİlceler.add("İlçe Seçiniz.."); 
       burdurİlceler.add("Bucak"); 
       burdurİlceler.add("Tefenni"); 
       burdurİlceler.add("Gölhisar"); 
       burdurİlceler.add("Ağlasun"); 
       ArrayAdapter<String> burdurİlcelerAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, burdurİlceler); 
       burdurİlcelerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
       spinner2.setAdapter(burdurİlcelerAdapter); 
       spinner2.setVisibility(View.VISIBLE); 
       editText.setVisibility(View.VISIBLE); 
      } 
İlgili konular