Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.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 从数据库搜索后显示空白屏幕(Android)_Java_Php_Android_Json - Fatal编程技术网

Java 从数据库搜索后显示空白屏幕(Android)

Java 从数据库搜索后显示空白屏幕(Android),java,php,android,json,Java,Php,Android,Json,当我点击search Provider时,它会在listview中显示空白屏幕,我不知道为什么这是我从服务器返回的响应 这是我的自定义适配器代码: package com.example.kamran.ebloodbank; import android.app.Activity; import android.content.Context; import android.support.annotation.NonNull; import android.support.annotatio

当我点击search Provider时,它会在listview中显示空白屏幕,我不知道为什么这是我从服务器返回的响应

这是我的自定义适配器代码:

package com.example.kamran.ebloodbank;

import android.app.Activity;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.TextView;

import java.util.List;

/**
 * Created by Kamran on 4/12/2017.
 */

public class DonorAdapter extends BaseAdapter {

    private Activity activity;
    private LayoutInflater inflater;
    private List<DataSet> donorItems;

    public DonorAdapter(Activity activity,List<DataSet> donorItems) {
        this.activity = activity;
        this.donorItems = donorItems;

    }

    @Override
    public int getCount() {
        return donorItems.size();
    }

    @Override
    public Object getItem(int location) {
        return donorItems.get(location);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if (inflater == null)
            inflater = (LayoutInflater) activity
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        if (convertView == null)
            convertView = inflater.inflate(R.layout.donor_search_list_theme, null);

        TextView nameTextView = (TextView) convertView.findViewById(R.id.donor_name);
        TextView areaTextView = (TextView) convertView.findViewById(R.id.donor_area);

        DataSet d = donorItems.get(position);

        nameTextView.setText(d.getName());
        areaTextView.setText(d.getArea());
        return convertView;
    }
}
这是我的第一个活动代码:

package com.example.kamran.ebloodbank;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Spinner;

import com.android.volley.AuthFailureError;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import com.example.kamran.ebloodbank.data.BloodContract.BloodEntry;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class FindDonor extends AppCompatActivity {

    Spinner bloodgroup;
    Spinner area;
    String findDonorUrl = "https://wwwkamranalitk.000webhostapp.com/findDonor.php";
    int mBlood = BloodEntry.BLOOD_GROUP_A_POS;
    int mArea = BloodEntry.DONOR_AREA_MALIR;
    Button searchButton;
    RequestQueue requestQueue;
    StringRequest request;
    JSONObject jsonObject;
    JSONArray result;
    private List<DataSet> donorList = new ArrayList<DataSet>();

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


        bloodgroup = (Spinner) findViewById(R.id.bloodspinnerfinddonor);
        area = (Spinner) findViewById(R.id.areaSpinner);
        searchButton = (Button) findViewById(R.id.searchDonor);
        setupSpinnerBlood();
        setupSpinnerArea();
        requestQueue = Volley.newRequestQueue(getApplicationContext());

        searchButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                request = new StringRequest(Request.Method.POST, findDonorUrl, new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {

                            try {
                                jsonObject = new JSONObject(response);
                                result = jsonObject.getJSONArray("result");
                                JSONObject donorData = result.getJSONObject(0);
                                DataSet donorSet = new DataSet();

                                donorSet.setName(donorData.getString("name"));
                                donorSet.setArea(donorData.getInt("area"));
                                donorList.add(donorSet);
                                Intent intent = new Intent(FindDonor.this, DonorSearchList.class);

                                startActivity(intent);
                                finish();
                            } catch (JSONException e) {
                                e.printStackTrace();
                            }

                    }
                }, new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {

                    }
                }){
                    @Override
                    protected Map<String, String> getParams() throws AuthFailureError {
                        HashMap<String,String> parameters = new HashMap<String, String>();

                        parameters.put("bloodgroup", String.valueOf(mBlood));
                        parameters.put("area", String.valueOf(mArea));

                        return parameters;
                    }
                };

                requestQueue.add(request);
            }
        });

    }




    private void setupSpinnerBlood() {
        ArrayAdapter bloodGroupSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.blood_group, android.R.layout.simple_spinner_item);
        bloodGroupSpinnerAdapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        bloodgroup.setAdapter(bloodGroupSpinnerAdapter);

        bloodgroup.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                String selection = (String) parent.getItemAtPosition(position);
                if (!TextUtils.isEmpty(selection)) {
                    if (selection.equals(getString(R.string.blood_apos))) {
                        mBlood = BloodEntry.BLOOD_GROUP_A_POS;
                    } else if (selection.equals((getString(R.string.blood_bpos)))) {
                        mBlood = BloodEntry.BLOOD_GROUP_B_POS;
                    } else if (selection.equals(getString(R.string.blood_opos))) {
                        mBlood = BloodEntry.BLOOD_GROUP_O_POS;
                    } else if (selection.equals((getString(R.string.blood_oneg)))) {
                        mBlood = BloodEntry.BLOOD_GROUP_O_NEG;
                    }
                }
            }


            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
                mBlood = BloodEntry.BLOOD_GROUP_A_POS;
            }
        });
    }

    private void setupSpinnerArea() {
        ArrayAdapter areaSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.area, android.R.layout.simple_spinner_item);
        areaSpinnerAdapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        area.setAdapter(areaSpinnerAdapter);

        area.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                String selection = (String) parent.getItemAtPosition(position);
                if (!TextUtils.isEmpty(selection)) {
                    if (selection.equals(getString(R.string.donor_area_malir))) {
                        mArea = BloodEntry.DONOR_AREA_MALIR;
                    } else if (selection.equals(getString(R.string.donor_area_defence))) {
                        mArea = BloodEntry.DONOR_AREA_DEFENCE;
                    } else if (selection.equals(getString(R.string.donor_area_korangi))) {
                        mArea = BloodEntry.DONOR_AREA_KORANGI;
                    } else if (selection.equals(getString(R.string.donor_area_johar))) {
                        mArea = BloodEntry.DONOR_AREA_JOHAR;
                    }
                }
            }

            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
                mArea = BloodEntry.DONOR_AREA_MALIR;
            }
        });

    }


}
package com.example.kamran.ebloodbank;
导入android.content.Intent;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.text.TextUtils;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.ListView;
导入android.widget.Spinner;
导入com.android.volley.AuthFailureError;
导入com.android.volley.Request;
导入com.android.volley.RequestQueue;
导入com.android.volley.Response;
导入com.android.volley.VolleyError;
导入com.android.volley.toolbox.StringRequest;
导入com.android.volley.toolbox.volley;
导入com.example.kamran.ebloodbank.data.BloodContract.BloodEntry;
导入org.json.JSONArray;
导入org.json.JSONException;
导入org.json.JSONObject;
导入java.util.ArrayList;
导入java.util.HashMap;
导入java.util.List;
导入java.util.Map;
公共类FindDonor扩展了AppCompatActivity{
Spinner血型;
纺纱区;
字符串findDonorUrl=”https://wwwkamranalitk.000webhostapp.com/findDonor.php";
int mBlood=BloodEntry.BLOOD\u GROUP\u A\u POS;
int mArea=血液输入。捐赠者面积;
按钮搜索按钮;
请求队列请求队列;
请求请求;
JSONObject JSONObject;
JSONArray结果;
private List donorList=new ArrayList();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u find\u provider);
血型=(Spinner)findViewById(R.id.BloodPinnerFindProvider);
面积=(微调器)findViewById(R.id.areaSpinner);
searchButton=(按钮)findViewById(R.id.SearchProvider);
设置喷丝板血();
setupSpinnerArea();
requestQueue=Volley.newRequestQueue(getApplicationContext());
searchButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
request=new-StringRequest(request.Method.POST、findDonorUrl、new-Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
试一试{
jsonObject=新的jsonObject(响应);
result=jsonObject.getJSONArray(“结果”);
JSONObject donorData=result.getJSONObject(0);
数据集提供者集=新数据集();
donorSet.setName(donorData.getString(“name”);
donorSet.setArea(donorData.getInt(“区域”));
donorList.add(donorSet);
意向意向=新意向(FindDonor.this,DonorSearchList.class);
星触觉(意向);
完成();
}捕获(JSONException e){
e、 printStackTrace();
}
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
}
}){
@凌驾
受保护的映射getParams()引发AuthFailureError{
HashMap参数=新的HashMap();
parameters.put(“bloodgroup”,String.valueOf(mBlood));
parameters.put(“area”,String.valueOf(mArea));
返回参数;
}
};
添加(请求);
}
});
}
私人喷浆器血液(){
ArrayAdapter-bloodGroupSpinnerAdapter=ArrayAdapter.createFromResource(这个,R.array.blood\u组,android.R.layout.simple\u微调器\u项);
bloodGroupSpinnerAdapter.setDropDownViewResource(android.R.layout.simple\u dropdown\u item\u 1line);
bloodgroup.setAdapter(bloodGroupSpinnerAdapter);
bloodgroup.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
字符串选择=(字符串)parent.getItemAtPosition(位置);
如果(!TextUtils.isEmpty(选择)){
if(selection.equals(getString(R.string.blood_apos))){
mBlood=BloodEntry.BLOOD\u GROUP\u POS;
}else if(selection.equals((getString(R.string.blood_bpos))){
mBlood=BloodEntry.BLOOD\u GROUP\u B\u POS;
}else if(selection.equals(getString(R.string.blood_opos))){
mBlood=BloodEntry.BLOOD\u GROUP\u O\u POS;
}else if(selection.equals((getString(R.string.blood_oneg))){
mBlood=BloodEntry.BLOOD\u GROUP\u O\u NEG;
}
}
}
@凌驾
未选择公共无效(AdapterView AdapterView){
mBlood=BloodEntry.BLOOD\u GROUP\u POS;
}
});
}
私有虚拟空间设置SpinneRarea(){
ArrayAdapter areaSpinnerAdapter=ArrayAdapter.createFromResource(这个,R.array.area,android.R.layout.simple\u微调器\u项);
areaSpinnerAdapter.setDropDownViewResource(android.R.layout.simple_dropdown_项目线);
area.setAdapter(areaSpinnerAdapter);
area.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图、int posi
package com.example.kamran.ebloodbank;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Spinner;

import com.android.volley.AuthFailureError;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import com.example.kamran.ebloodbank.data.BloodContract.BloodEntry;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class FindDonor extends AppCompatActivity {

    Spinner bloodgroup;
    Spinner area;
    String findDonorUrl = "https://wwwkamranalitk.000webhostapp.com/findDonor.php";
    int mBlood = BloodEntry.BLOOD_GROUP_A_POS;
    int mArea = BloodEntry.DONOR_AREA_MALIR;
    Button searchButton;
    RequestQueue requestQueue;
    StringRequest request;
    JSONObject jsonObject;
    JSONArray result;
    private List<DataSet> donorList = new ArrayList<DataSet>();

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


        bloodgroup = (Spinner) findViewById(R.id.bloodspinnerfinddonor);
        area = (Spinner) findViewById(R.id.areaSpinner);
        searchButton = (Button) findViewById(R.id.searchDonor);
        setupSpinnerBlood();
        setupSpinnerArea();
        requestQueue = Volley.newRequestQueue(getApplicationContext());

        searchButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                request = new StringRequest(Request.Method.POST, findDonorUrl, new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {

                            try {
                                jsonObject = new JSONObject(response);
                                result = jsonObject.getJSONArray("result");
                                JSONObject donorData = result.getJSONObject(0);
                                DataSet donorSet = new DataSet();

                                donorSet.setName(donorData.getString("name"));
                                donorSet.setArea(donorData.getInt("area"));
                                donorList.add(donorSet);
                                Intent intent = new Intent(FindDonor.this, DonorSearchList.class);

                                startActivity(intent);
                                finish();
                            } catch (JSONException e) {
                                e.printStackTrace();
                            }

                    }
                }, new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {

                    }
                }){
                    @Override
                    protected Map<String, String> getParams() throws AuthFailureError {
                        HashMap<String,String> parameters = new HashMap<String, String>();

                        parameters.put("bloodgroup", String.valueOf(mBlood));
                        parameters.put("area", String.valueOf(mArea));

                        return parameters;
                    }
                };

                requestQueue.add(request);
            }
        });

    }




    private void setupSpinnerBlood() {
        ArrayAdapter bloodGroupSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.blood_group, android.R.layout.simple_spinner_item);
        bloodGroupSpinnerAdapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        bloodgroup.setAdapter(bloodGroupSpinnerAdapter);

        bloodgroup.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                String selection = (String) parent.getItemAtPosition(position);
                if (!TextUtils.isEmpty(selection)) {
                    if (selection.equals(getString(R.string.blood_apos))) {
                        mBlood = BloodEntry.BLOOD_GROUP_A_POS;
                    } else if (selection.equals((getString(R.string.blood_bpos)))) {
                        mBlood = BloodEntry.BLOOD_GROUP_B_POS;
                    } else if (selection.equals(getString(R.string.blood_opos))) {
                        mBlood = BloodEntry.BLOOD_GROUP_O_POS;
                    } else if (selection.equals((getString(R.string.blood_oneg)))) {
                        mBlood = BloodEntry.BLOOD_GROUP_O_NEG;
                    }
                }
            }


            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
                mBlood = BloodEntry.BLOOD_GROUP_A_POS;
            }
        });
    }

    private void setupSpinnerArea() {
        ArrayAdapter areaSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.area, android.R.layout.simple_spinner_item);
        areaSpinnerAdapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        area.setAdapter(areaSpinnerAdapter);

        area.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                String selection = (String) parent.getItemAtPosition(position);
                if (!TextUtils.isEmpty(selection)) {
                    if (selection.equals(getString(R.string.donor_area_malir))) {
                        mArea = BloodEntry.DONOR_AREA_MALIR;
                    } else if (selection.equals(getString(R.string.donor_area_defence))) {
                        mArea = BloodEntry.DONOR_AREA_DEFENCE;
                    } else if (selection.equals(getString(R.string.donor_area_korangi))) {
                        mArea = BloodEntry.DONOR_AREA_KORANGI;
                    } else if (selection.equals(getString(R.string.donor_area_johar))) {
                        mArea = BloodEntry.DONOR_AREA_JOHAR;
                    }
                }
            }

            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
                mArea = BloodEntry.DONOR_AREA_MALIR;
            }
        });

    }


}
package com.example.kamran.ebloodbank;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public class DonorSearchList extends AppCompatActivity {

    private String mArea;
    private List<DataSet> donorList = new ArrayList<DataSet>();
    private ListView listView;
    private DonorAdapter adapter;

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

        listView = (ListView) findViewById(R.id.donorListView);
        adapter = new DonorAdapter(this, donorList);

        listView.setAdapter(adapter);



    }
}
public class bridge {
   public static List<DataSet> donorList = new ArrayList<DataSet>();
}
donorSet.setName(donorData.getString("name"));
donorSet.setArea(donorData.getInt("area"));
donorList.add(donorSet);
//here put this line
bridge.donarList = donarList;
//rest code
Intent intent = new Intent(FindDonor.this, DonorSearchList.class);
adapter = new DonorAdapter(this, bridge.donorList);