相关疑难解决方法(0)

在android数组适配器中使用notifyDataSetChanged时出错

11-06 19:52:25.958:E/AndroidRuntime(29609):java.lang.IllegalStateException:适配器的内容已更改,但ListView未收到通知.确保不从后台线程修改适配器的内容,而只是从UI线程修改.[在ListView(-1,类android.widget.ListPopupWindow $ DropDownListView)中使用Adapter(类com.example.parkfoxxlight_android.PlacesAutoCompleteAdapter)]

完整日志:http://pastebin.com/Hx7k28Rm

适配器的完整代码:http://pastebin.com/TfH1bXE3我使用的是https://developers.google.com/places/training/autocomplete-android中的示例,它有相当的默认代码,因此它似乎有一个谷歌代码中的错误?

应用程序有时会崩溃,但上面的错误消息.

protected void publishResults(CharSequence constraint,
        FilterResults results) {

    if (results != null && results.count > 0) {
        notifyDataSetChanged();
    } else {
        notifyDataSetInvalidated();
    }
}
Run Code Online (Sandbox Code Playgroud)

活动http://pastebin.com/FYzYtvXY:

public class CityActivity extends Activity{

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.city);

            AutoCompleteTextView autoCompView = (AutoCompleteTextView) findViewById(R.id.autocomplete_city);

            PlacesAutoCompleteAdapter ad = new PlacesAutoCompleteAdapter(this);
            ProgressBar b = (ProgressBar)findViewById(R.id.progressBar1);
            ad.setLoadingIndicator(b);

            autoCompView.setAdapter(ad);
        }
}
Run Code Online (Sandbox Code Playgroud)

任何想法如何解决这一问题?我在android 4.3上.

java android android-listview

18
推荐指数
1
解决办法
3982
查看次数

如何更改AutoCompleteTextView中下拉列表的文本颜色?

如何在下拉菜单中更改文本颜色AutoCompleteTextView?或者我如何更改下拉列表的背景颜色,默认情况下,下拉列表的背景颜色为白色.

android autocompletetextview

5
推荐指数
2
解决办法
2万
查看次数

AutoCompleteText问题在列表中获取重复值?

在此输入图像描述

请帮我解决这个问题:

我想在自动填充文本视图中搜索时显示国家/地区和代码,并且其工作正常,但我获得两次值而不是单值.

MainActivity.java:

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    String[] countries = new String[] {
                "Allentown",
            "Albuquerque","Aberdeen","Acapulco","Waco","Atlantic City",
            "Marka-Amman","Pittsburgh","Augusta","Auckland","Albany",
            "Amarillo","Amman","Amsterdam","Anchorage","Antwerp",
            "Naples","Aqaba","Stockholm","Aspen","Asuncion"......};

    String[] codes=new String[]{
        "ABE","ABQ","AMS","ANC","ANR","APF","AQJ","ARN","ASE","ASU","ATH",
    .............}; 
    List<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();
    for(int i=0;i<countries.length;i++){
        HashMap<String, String> curGroupMap = new HashMap<String,String>();
        curGroupMap.put("country", countries[i]);
        curGroupMap.put("code", codes[i]);
        list.add(curGroupMap);
    }
    final AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_country);
    SimpleAdapter adapter = 
            new SimpleAdapter(getBaseContext(), list, R.layout.twolist, new String[] {"code","country"}, new int[] { R.id.textView1,R.id.textView2});
    textView.setAdapter(adapter);
    textView.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> …
Run Code Online (Sandbox Code Playgroud)

java android autocompletetextview

5
推荐指数
1
解决办法
1226
查看次数

AutoCompleteTextView与电子邮件域android

所以我的应用程序中有一个autocompletetextview字段,我希望用户输入他的电子邮件地址.现在,为了帮助他更快地输入它并且不犯错误,我想在输入时向他推荐最常见的电子邮件域服务器.

我正在使用该控件与此数组

String[] arraymails ={"@gmail.com","@hotmail.com","@yahoo.com","@outlook.com"};  
Run Code Online (Sandbox Code Playgroud)

这在oncreate中

mEmailView = (AutoCompleteTextView) findViewById(R.id.register_email);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,arraymails);  
mEmailView.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)

这个想法是,当用户键入"@"字符然后"g"时,它会建议@ gmail.com.

如果我直接在文本框中输入"@g .."但是如果我之前输入任何内容,例如"john @ gm",它将无法正常工作.

是否有任何通配符,如"*@gmail.com"这样做?或者我该如何实施呢?

谢谢

android autocompletetextview

5
推荐指数
1
解决办法
1481
查看次数