在我的android應用程序中,我有一個autocompletetextview feild向用戶建議不同的狀態名稱。 代碼如下:基於第一個值更新第二個自動完成文本視圖
TextWatcher state_text=new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
str_state=actv_state.getText().toString();
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
};
actv_state.addTextChangedListener(state_text);
這個我想在顯示城市名稱後:
ArrayAdapter<String> state_adapter=new ArrayAdapter<String>(this, android.R.layout.select_dialog_item,state);
actv_state=(AutoCompleteTextView)findViewById(R.id.edt_state);
actv_state.setThreshold(1);
actv_state.setAdapter(state_adapter);
然後我通過這種方式使用TextWatcher藉此狀態的值的字符串另一個基於選定狀態的自動完成文本視圖。 我似乎無法弄清楚我在哪裏放置此代碼以顯示基於所選狀態的城市名稱?
if(str_state.equalsIgnoreCase("MADHYA PRADESH"))
{
ArrayAdapter<String> mp_city_adapter=new ArrayAdapter<String>(this, android.R.layout.select_dialog_item,mp_city);
actv_city=(AutoCompleteTextView)findViewById(R.id.app_city);
actv_city.setThreshold(1);
actv_city.setAdapter(mp_city_adapter);
}
if(str_state.equalsIgnoreCase("CHATTISGARH"))
{
ArrayAdapter<String> mp_city_adapter=new ArrayAdapter<String>(this, android.R.layout.select_dialog_item,mp_city);
actv_city=(AutoCompleteTextView)findViewById(R.id.app_city);
actv_city.setThreshold(1);
actv_city.setAdapter(mp_city_adapter);
}
我該怎麼去?我似乎無法弄清楚! 如果有人知道任何解決方案,請幫助! 謝謝!
當你打電話過去的代碼塊?確保在您的文本(str_state)發生更改時設置城市適配器。 – ottel142
我認爲你必須把這段代碼放在onItemSelected或onItemClick監聽器中,這樣你才能決定設置哪個適配器。現在決定哪種方法最合適 – UnderGround
在改變文本後使用str_state – Senthil