Java autocompletetextview未更新

Java autocompletetextview未更新,java,android,autocompletetextview,Java,Android,Autocompletetextview,我有一个autocompletetext,我正在使用volley stringrequest从web服务获得建议。现在的问题是ArrayList没有被清除,因此每次我发出请求时,旧项目都会被添加到列表中。我尝试了adapter.clear(),但它给了我NullPointerException。因此,如果有人能帮我澄清这一点,使清单上没有旧物品,我们将不胜感激 LogCat: 致命异常:主 流程:com.sam.ubooktoday,PID:24983 java.lang.NullPointe

我有一个autocompletetext,我正在使用volley stringrequest从web服务获得建议。现在的问题是ArrayList没有被清除,因此每次我发出请求时,旧项目都会被添加到列表中。我尝试了
adapter.clear()
,但它给了我NullPointerException。因此,如果有人能帮我澄清这一点,使清单上没有旧物品,我们将不胜感激

LogCat:
致命异常:主
流程:com.sam.ubooktoday,PID:24983
java.lang.NullPointerException
位于com.sam.ubooktoday.view.fragments.homeooptiontwo$1.onResponse(homeooptiontwo.java:88)
位于com.sam.ubooktoday.view.fragments.homeooptiontwo$1.onResponse(homeooptiontwo.java:69)
位于com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:60)
位于com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:30)
位于com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:99)
位于android.os.Handler.handleCallback(Handler.java:808)
位于android.os.Handler.dispatchMessage(Handler.java:103)
位于android.os.Looper.loop(Looper.java:193)
位于android.app.ActivityThread.main(ActivityThread.java:5388)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:515)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:839)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:655)
在dalvik.system.NativeStart.main(本机方法)
//如果按“na”,json响应是:
[
“修甲修脚”,
“修指甲”,
“足疗”,
“18岁以下学生特辑”,
“手足护理与修复”,
“美甲艺术设计”,
“波兰变革”,
“12岁以下儿童菜单”,
“健康指甲粉浸泡”,
“美甲”,
“全套”,
“填写”
]
公共类homeooptiontwo扩展片段实现TextWatcher{
自动完成文本视图自动服务;
ArrayList arrList=新的ArrayList();
阵列适配器;
专用静态最终字符串服务=”http://example.com/android/services";
@可空
@凌驾
创建视图时的公共视图(LayoutFlater充气机、@Nullable ViewGroup容器、@Nullable Bundle savedInstanceState){
返回充气机。充气(R.layout.homeooptiontwo,容器,假);
}
@凌驾
已创建视图上的公共void(视图,@Nullable Bundle savedInstanceState){
super.onViewCreated(视图,savedInstanceState);
autoservice=(AutoCompleteTextView)view.findviewbyd(R.id.service);
autoservice.addTextChangedListener(此);
}
私有void prepareMyList(){
StringRequest StringRequest=新的StringRequest(Request.Method.POST,SERVICE,
新的Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
试一试{
JSONArray JSONArray=新JSONArray(响应);
for(int i=0;i}
每次设置新适配器时,不需要清除适配器,但需要清除列表,以便从列表中获取和显示新数据

所以在prepareMyList()方法中,在try-catch方法中,在JSONArray之前的第一行写下JSONArray=new-JSONArray(response);线路

所以看起来

     arrList = new ArrayList<String>();
     JSONArray jsonarray = new JSONArray(response);
arrList=newarraylist();
JSONArray JSONArray=新JSONArray(响应);

然后检查它将解决您的问题。

最近我也遇到了同样的问题,我的问题是筛选器正在筛选我的结果,因为我的结果中的字符串与键入的文本不匹配。这可能也是你的情况

尝试在阵列适配器上覆盖
@Override
ing
getFilter()
,并返回一个不起任何作用的
new Filter()
。比如:

public Filter getFilter() {

            return new Filter() {

                @Override
                protected void publishResults(CharSequence constraint,FilterResults results) {


                }

                @Override
                protected FilterResults performFiltering(CharSequence constraint) {

                    return null;
                }
            };
        }
可能
adapter.clear()导致问题的行。使用它作为
if(adapter!=null){adapter.clear();}
我应该使用
if(adapter!=null){adapter.clea吗