gpt4 book ai didi

android - 根据第一个自动完成 TextView 的值更新第二个自动完成 TextView

转载 作者:行者123 更新时间:2023-11-29 21:42:49 29 4
gpt4 key购买 nike

在我的 android 应用程序中,我有一个自动完成 TextView 字段,可以向用户建议不同的州名称。代码如下:

 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 在字符串中获取此状态的值:

 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);

在此之后,我试图根据所选状态在另一个自动完成 TextView 中显示城市名称。我似乎无法弄清楚我应该将此代码放在哪里以根据所选州显示城市名称????

 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);
}

我该怎么做?我似乎无法弄清楚!如果有人知道对此有任何解决方案,请提供帮助!谢谢!

最佳答案

它应该在 autocomplete textview itemclick 监听器中

 actv_state.setOnItemClickListener(new OnItemClickListener(){

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long rowId) {

if(actv_state.getText().toString().equals("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(actv_state.getText().toString().equals("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);
}

}
});

关于android - 根据第一个自动完成 TextView 的值更新第二个自动完成 TextView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16645536/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com