2017-09-08 59 views
0

例如,當我在微調器上選擇客戶名稱並添加到列表視圖中時。然後我去更新頁面,我看到微調狀態沒有改變。如何在更新時設置微調器狀態?如何在更新時設置微調器的選定項目

 prepareData(); 

     NewSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
      @Override 
      public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
       value = parent.getItemAtPosition(position).toString(); 
       custid = databaseHelper.getSpinnerCustId(value, user_id2); 
       getIndex(NewSpinner, value); 
       //NewSpinner.setSelection(((ArrayAdapter<String>)NewSpinner.getAdapter()).getPosition(value)); 
      } 

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

public void prepareData() { 
     users = databaseHelper.getAllUsers(user_id2); 
     adapter = new ArrayAdapter<String>(UpdateMobRepairActivity.this, android.R.layout.simple_dropdown_item_1line, android.R.id.text1, users); 
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     NewSpinner.setAdapter(adapter); 
    } 

    public void getIndex(Spinner spinner, String myString) { 
     int index = 0; 
     SpinnerAdapter adapter = spinner.getAdapter(); 

     for (int i = 0; i < adapter.getCount(); i++) { 
      if (spinner.getItemAtPosition(i).equals(myString)) { 
       spinner.setSelection(i); 
       return; 
      } 
     } 
    } 
+0

後,你是什麼意思「去更新頁面」是什麼意思?你是否轉向另一項活動? –

回答

0

通知適配器改變

public void getIndex(Spinner spinner, String myString) { 
    int index = 0; 
    SpinnerAdapter adapter = spinner.getAdapter(); 

    for (int i = 0; i < adapter.getCount(); i++) { 
    if (spinner.getItemAtPosition(i).equals(myString)) { 
     spinner.setSelection(i); 
     return; 
    } 
    } 

    adapter.notifyDataSetChanged(); 

} 
相關問題