2011-06-30 66 views
1

我有我的紡紗問題,兩個微調器在Android應用

在我的應用程序

兩個紡紗廠,從數據庫中獲取數據,

當我選擇從第一微調一個選擇,我想刪除這個選項從第二個微調, 和添加選項,我從第二個微調到第一個微調,反之亦然。

我該怎麼做?

這是我本次代碼:

public void showScoresCalculator() { 
    setContentView(R.layout.scores_calculator); 

    Typeface font = Typeface.createFromAsset(getAssets(),"fonts/HelveticaProCn.ttf"); 

    TextView txt = (TextView) findViewById(R.id.txt); 
    txt.setTypeface(font); 

    TextView team = (TextView) findViewById(R.id.choose_team); 
    team.setTypeface(font);  

    TextView group = (TextView) findViewById(R.id.choose_group); 
    group.setTypeface(font);  

    TextView title = (TextView) findViewById(R.id.textView1); 
    title.setTypeface(font);   

    TextView title2 = (TextView) findViewById(R.id.textView2); 
    title2.setTypeface(font); 

    final Spinner sp = (Spinner) findViewById(R.id.spinner3); 
    final Spinner sp1 = (Spinner) findViewById(R.id.spinner4); 

    final DataBaseHelper.MyData[] items = this.dh.getTeamsNameAndIDs("38"); 
    final DataBaseHelper.MyData d = items[(int) sp.getSelectedItemId()]; 

    final DataBaseHelper.MyData[] items2 = this.dh 
      .getTeamsNameAndIDs("47"); 
    final DataBaseHelper.MyData d1 = items2[(int) sp1.getSelectedItemId()]; 

    final ArrayAdapter<DataBaseHelper.MyData> adapter = new ArrayAdapter<DataBaseHelper.MyData>(
      this, android.R.layout.simple_spinner_item, 
      this.dh.getTeamsNameAndIDs("38")); 

    final ArrayAdapter<DataBaseHelper.MyData> adapter1 = new ArrayAdapter<DataBaseHelper.MyData>(
      this, android.R.layout.simple_spinner_item, 
      this.dh.getTeamsNameAndIDs("47")); 

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    sp.setAdapter(adapter); 
    sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     public void onItemSelected(AdapterView<?> parent, View view, 
       int position, long id) { 
      DataBaseHelper.MyData d = items2[(int) sp1.getSelectedItemId()]; 
      DataBaseHelper.MyData d1 = items[position]; 
      home = d.getValue(); 
      away = d1.getValue(); 
      if(Integer.valueOf(home.toString()) == Integer.valueOf(away.toString())) { 
       Toast.makeText(getApplicationContext(), "Nie możesz wybrać dwóch tych samych drużyn.", Toast.LENGTH_SHORT).show(); 
      }else { 
       showChart(d1.getValue(), d.getValue(), d1.getSpinnerText(), d.getSpinnerText(), "REMIS"); 
      } 
     } 

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

    adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    sp1.setAdapter(adapter1); 
    sp1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     public void onItemSelected(AdapterView<?> parent, View view, 
       int position, long id) { 

      DataBaseHelper.MyData d = items[(int) sp.getSelectedItemId()]; 
      DataBaseHelper.MyData d1 = items2[position]; 

      home = d.getValue(); 
      away = d1.getValue(); 

      if(Integer.valueOf(home.toString()) == Integer.valueOf(away.toString())) { 
       Toast.makeText(getApplicationContext(), "Nie możesz wybrać dwóch tych samych drużyn.", Toast.LENGTH_SHORT).show(); 
      }else { 
       showChart(d.getValue(), d1.getValue(), d.getSpinnerText(), d1.getSpinnerText(), "REMIS"); 
      } 

     } 

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

    final Button next = (Button) findViewById(R.id.next); 
    final Button prev = (Button) findViewById(R.id.prev); 

    next.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      showNewsPage(); 
     } 
    }); 

    prev.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      showGroupCalculator(); 
     } 
    }); 
    Page = true; 
} 

請幫幫我! :)

回答

1

通過從列表中刪除選定的數據更新適配器。使用Handler概念來更新適配器。

通過setAdapter()在Spinner上設置一個新的適配器。或者,如果它是ArrayAdapter,則使用add(),insert()和remove()修改數據。或者,如果它是一個CursorAdapter,那麼它會重新獲得新的數據。

+0

我該怎麼做? –