我正在嘗試創建此對話框:設置基於微調值的EditText可見性
。
當Spinner設置爲自定義值時,TextEdit應該會自動出現。我打電話View.setVisible()
在TextView
,但可見性是不立即評估,但等待另一個變化 - 例如,添加另一行或設置日期。
的代碼:
...
customText = (EditText) v.findViewById(R.id.edit_custom_text);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s.setAdapter(adapter);
s.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
SpinnerItem si = (SpinnerItem) adapterView.getItemAtPosition(i);
evt.type = si.eventType;
if (evt.type == EventType.CUSTOM) {
customText.setVisibility(View.VISIBLE);
} else {
customText.setVisibility(View.GONE);
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
//do nothing
}
});
我試圖View.invalidate()
(上父視圖)和View.refreshDrawableState()
沒有運氣:/
編輯:在達到上述代碼(由調試器驗證)和我還試圖View.INVISIBLE
。該視圖只是不能立即刷新,而只是在另一次視圖更改之後才刷新。
什麼是s?它是微調 – Trikaldarshi
是的,它的微調 – krtek
如果它的微調你想顯示/隱藏edittext然後請按照我的回答 – Trikaldarshi