Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
异常:java.lang.NullPointerException位于ArrayAdapter<;字符串>;_Java_Android_Mysql_Spinner_Android Arrayadapter - Fatal编程技术网

异常:java.lang.NullPointerException位于ArrayAdapter<;字符串>;

异常:java.lang.NullPointerException位于ArrayAdapter<;字符串>;,java,android,mysql,spinner,android-arrayadapter,Java,Android,Mysql,Spinner,Android Arrayadapter,我有两个按钮执行相同的方法,用Mysql数据库中的数据填充自己的微调器,但问题是只填充了一个微调器,当我单击另一个“Buscar”(来自葡萄牙语:“Search”)按钮时,我得到了“java.lang.NullPointerException”,应用程序中止 我的代码 这是第一个按钮,此代码工作并填充微调器: btnBuscarProduto.setOnClickListener(new View.OnClickListener() { public void

我有两个按钮执行相同的方法,用Mysql数据库中的数据填充自己的微调器,但问题是只填充了一个微调器,当我单击另一个“Buscar”(来自葡萄牙语:“Search”)按钮时,我得到了“java.lang.NullPointerException”,应用程序中止

我的代码

这是第一个按钮,此代码工作并填充微调器:

    btnBuscarProduto.setOnClickListener(new View.OnClickListener() {  
            public void onClick(View v) {
                new Thread(new Runnable() {
                    public void run() {
                        buscarPor = "produtos";
                        System.out.println("Buscando por: "+buscarPor);
                        Looper.prepare();
                        resultadoBusca = buscar(edtBuscaProduto.getText().toString());
                        System.out.println("Resultado da busca: "+resultadoBusca);
                        ((Activity)context).runOnUiThread(new Runnable(){
                            @Override
                            public void run() {
                                if(resultadoBusca.equalsIgnoreCase("vazio")){
                                    Toast toast = Toast.makeText(getActivity(), "Nada Encontrado", Toast.LENGTH_SHORT);
                                    toast.show(); 
                                 }else{
                                   listaBusca = makeList(resultadoBusca);
                                   ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(context, android.R.layout.simple_spinner_dropdown_item, listaBusca);
                                   spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
                                   spnProdutos.setAdapter(spinnerArrayAdapter);
                                }               
                            }});

                    }
                  }).start();                 
            }
        });
    btnBuscarPizza.setOnClickListener(new View.OnClickListener() {  
            public void onClick(View v) {
                new Thread(new Runnable() {
                    public void run() {
                        buscarPor = "pizzas";
                        System.out.println("Buscando por: "+buscarPor);
                        Looper.prepare();
                        resultadoBusca = buscar(edtBuscaPizza.getText().toString());
                        System.out.println("Resultado da busca: "+resultadoBusca);
                        ((Activity)context).runOnUiThread(new Runnable(){
                            @Override
                            public void run() {
                                if(resultadoBusca.equalsIgnoreCase("vazio")){
                                    Toast toast = Toast.makeText(getActivity(), "Nada Encontrado", Toast.LENGTH_SHORT);
                                    toast.show(); 
                                }else{
                                    listaBusca = makeList(resultadoBusca);
                                    System.out.println("Lista da busca: "+listaBusca);
                                    ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(context, android.R.layout.simple_spinner_dropdown_item, listaBusca);
                                    spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
                                    spnPizzas.setAdapter(spinnerArrayAdapter);
                                }               
                            }});

                    }
                  }).start(); 
            }
        });
btnBuscarProduto.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
新线程(newrunnable()){
公开募捐{
buscarPor=“produtos”;
System.out.println(“Buscando por:+buscarPor”);
Looper.prepare();
resultadoBusca=buscar(edtBuscaProduto.getText().toString());
系统输出打印项次(“Resultado da busca:+resultadoBusca”);
((活动)上下文).runOnUiThread(新的Runnable(){
@凌驾
公开募捐{
如果(结果为Obuca.equalsIgnoreCase(“vazio”)){
Toast Toast=Toast.makeText(getActivity(),“Nada Encontrado”,Toast.LENGTH\u SHORT);
toast.show();
}否则{
listaBusca=制作列表(resultadoBusca);
ArrayAdapter SpinnerayAdapter=新的ArrayAdapter(上下文,android.R.layout.simple\u微调器\u下拉菜单\u项,listaBusca);
spinnerrayadapter.setDropDownViewResource(android.R.layout.simple\u微调器\u项);
spnProdutos.setAdapter(SpinNerrayAdapter);
}               
}});
}
}).start();
}
});
这是第二个按钮,此代码起作用,但不填充微调器:

    btnBuscarProduto.setOnClickListener(new View.OnClickListener() {  
            public void onClick(View v) {
                new Thread(new Runnable() {
                    public void run() {
                        buscarPor = "produtos";
                        System.out.println("Buscando por: "+buscarPor);
                        Looper.prepare();
                        resultadoBusca = buscar(edtBuscaProduto.getText().toString());
                        System.out.println("Resultado da busca: "+resultadoBusca);
                        ((Activity)context).runOnUiThread(new Runnable(){
                            @Override
                            public void run() {
                                if(resultadoBusca.equalsIgnoreCase("vazio")){
                                    Toast toast = Toast.makeText(getActivity(), "Nada Encontrado", Toast.LENGTH_SHORT);
                                    toast.show(); 
                                 }else{
                                   listaBusca = makeList(resultadoBusca);
                                   ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(context, android.R.layout.simple_spinner_dropdown_item, listaBusca);
                                   spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
                                   spnProdutos.setAdapter(spinnerArrayAdapter);
                                }               
                            }});

                    }
                  }).start();                 
            }
        });
    btnBuscarPizza.setOnClickListener(new View.OnClickListener() {  
            public void onClick(View v) {
                new Thread(new Runnable() {
                    public void run() {
                        buscarPor = "pizzas";
                        System.out.println("Buscando por: "+buscarPor);
                        Looper.prepare();
                        resultadoBusca = buscar(edtBuscaPizza.getText().toString());
                        System.out.println("Resultado da busca: "+resultadoBusca);
                        ((Activity)context).runOnUiThread(new Runnable(){
                            @Override
                            public void run() {
                                if(resultadoBusca.equalsIgnoreCase("vazio")){
                                    Toast toast = Toast.makeText(getActivity(), "Nada Encontrado", Toast.LENGTH_SHORT);
                                    toast.show(); 
                                }else{
                                    listaBusca = makeList(resultadoBusca);
                                    System.out.println("Lista da busca: "+listaBusca);
                                    ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(context, android.R.layout.simple_spinner_dropdown_item, listaBusca);
                                    spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
                                    spnPizzas.setAdapter(spinnerArrayAdapter);
                                }               
                            }});

                    }
                  }).start(); 
            }
        });
btnBuscarPizza.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
新线程(newrunnable()){
公开募捐{
buscarPor=“比萨饼”;
System.out.println(“Buscando por:+buscarPor”);
Looper.prepare();
resultadoBusca=buscar(edtBuscaPizza.getText().toString());
系统输出打印项次(“Resultado da busca:+resultadoBusca”);
((活动)上下文).runOnUiThread(新的Runnable(){
@凌驾
公开募捐{
如果(结果为Obuca.equalsIgnoreCase(“vazio”)){
Toast Toast=Toast.makeText(getActivity(),“Nada Encontrado”,Toast.LENGTH\u SHORT);
toast.show();
}否则{
listaBusca=制作列表(resultadoBusca);
System.out.println(“Lista da busca:+listaBusca”);
ArrayAdapter SpinnerayAdapter=新的ArrayAdapter(上下文,android.R.layout.simple\u微调器\u下拉菜单\u项,listaBusca);
spinnerrayadapter.setDropDownViewResource(android.R.layout.simple\u微调器\u项);
spnPizzas.setAdapter(spinnerrayadapter);
}               
}});
}
}).start();
}
});
在上述方法中,错误出现在以下几行:

    ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(context, android.R.layout.simple_spinner_dropdown_item, listaBusca);
                                        spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
                                        spnPizzas.setAdapter(spinnerArrayAdapter);
ArrayAdapter spinnerrayadapter=新的ArrayAdapter(上下文,android.R.layout.simple\u spinner\u下拉菜单项,listaBusca);
spinnerrayadapter.setDropDownViewResource(android.R.layout.simple\u微调器\u项);
spnPizzas.setAdapter(SPINNERRAYADAPTER);
其他方法:

    public String buscar(String termo){
        String resp = null; 
        try{
                httpclient = new DefaultHttpClient();
                httppost = new HttpPost("http://192.168.1.101/android/busca.php");
                nameValuePairs = new ArrayList<NameValuePair>(2);
                nameValuePairs.add(new BasicNameValuePair("buscarPor", buscarPor));
                nameValuePairs.add(new BasicNameValuePair("busca", termo)); 
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));            
                response=httpclient.execute(httppost);           
                ResponseHandler<String> responseHandler = new BasicResponseHandler();
                resp = httpclient.execute(httppost, responseHandler);
            }catch(Exception e){
                Toast toast = Toast.makeText(getActivity(), "Erro: "+e.getMessage(), Toast.LENGTH_SHORT);
                toast.show(); 
            }
        return resp;
    }

    public List<String> makeList(String input){ 
        List<String> list = new ArrayList<String>();
        String[] newArray = input.split("\\|");
        for (int i =0; i<newArray.length; i++){
            list.add(newArray[i].toString());
        }   
        return list;
    }
public String总线车(String termo){
字符串resp=null;
试一试{
httpclient=新的DefaultHttpClient();
httppost=新的httppost(“http://192.168.1.101/android/busca.php");
nameValuePairs=新的ArrayList(2);
添加(新的BasicNameValuePair(“buscarPor”,buscarPor));
添加(新的BasicNameValuePair(“busca”,termo));
setEntity(新的UrlEncodedFormEntity(nameValuePairs));
response=httpclient.execute(httppost);
ResponseHandler ResponseHandler=新BasicResponseHandler();
resp=httpclient.execute(httppost,responseHandler);
}捕获(例外e){
Toast Toast=Toast.makeText(getActivity(),“Erro:+e.getMessage(),Toast.LENGTH\u SHORT);
toast.show();
}
返回响应;
}
公共列表生成列表(字符串输入){
列表=新的ArrayList();
字符串[]newArray=input.split(“\\\\”);

对于(int i=0;i打开您的日志。它告诉您NPE在哪里。
context
在哪里初始化?微调器在哪里初始化?11-09 13:53:51.676:i/System.out(1331):Resultado da busca:Calabresa | 11-09 13:53:51.676:i/System.out(1331):Lista da busca:[Calabresa]11-09 13:53:51.676:i/System.out(1331):异常:java.lang.NullPointerException 11-09 14:06:18.410:I/dalvikvm(1331):Jit:将JitTable从512调整为1024@RenanOliveira您无法从线程更新ui。您正在
buscar
中显示toast。这与异常无关。尽管我设法解决了问题,但问题是我的声明带有na