2012-09-21 50 views
-2

我想在android中使用標籤「CATEGORY」實現一個下拉菜單。如何保持文本與更改在Android的微調選擇?

在這裏,當我點擊「CATEGORY」按鈕時,應該填充一個列表。但是,當我選擇該列表中的任何項目時,我不想更改標籤「CATEGORY」。

如何做到這一點?

+0

@ m0skit0。如果你認爲我的英文不好,或者如果我的問題有問題,那麼你可以選擇編輯問題不是嗎?這不是我期望的答案。這真是令人尷尬! – Bharath

+0

您是否閱讀過我發佈的鏈接?如果你不想再讀這樣的評論,請這樣做。 – m0skit0

回答

1

一旦你瞭解加載值微調器如何工作,這變得容易。 :)

微調器使用getView方法填充封閉的微調器,並使用getDropDownView方法創建下拉菜單。利用這些信息,您可以創建一個自定義適配器,該適配器可以在當前選擇內容之外顯示關閉視圖中的內容。這也可以避免在數據中包含非數據(如「CATEGORY」一詞)。

一個簡單的例子:

public class CustomAdapter extends ArrayAdapter { 
    private Context context; 
    private int textViewResourceId; 
    private String[] objects; 

    public CustomAdapter(Context context, int textViewResourceId, 
      String[] objects) { 
     super(context, textViewResourceId, objects); 
     this.context = context; 
     this.textViewResourceId = textViewResourceId; 
     this.objects = objects; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     if (convertView == null) 
      convertView = View.inflate(context, textViewResourceId, null); 
      TextView tv = (TextView) convertView; 
      tv.setText("CATEGORY"); 
     } 
     return convertView; 
    } 
} 

微調的其餘部分將作爲正常的,所以你可以捕捉到onItemSelectedListener選擇。

+0

非常感謝你。它的工作完美!沒有任何令人尷尬的聲明,你已經把代碼放在了我的面前。感謝您的答覆 – Bharath

0

裏面你OnItemSelectedListener方法,讓你選擇的值,並存儲在某個地方共享首選項和重置使用位置spinnersetSelection(0); :)如果微調點擊再次從共享的首選項:)