Android 为什么我的json结果在textview中只显示一条记录?
我是android新手,遇到了以下问题。这是我的异步任务,我想在下一个活动中显示结果。我在控制台中得到整个结果,但在textview中,它只显示姓氏Android 为什么我的json结果在textview中只显示一条记录?,android,Android,我是android新手,遇到了以下问题。这是我的异步任务,我想在下一个活动中显示结果。我在控制台中得到整个结果,但在textview中,它只显示姓氏 private class MyTask extends AsyncTask<String, String, String>{ @Override protected String doInBackground(String... params) { // TODO Auto
private class MyTask extends AsyncTask<String, String, String>{
@Override
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
try{
String link = "http://www.amtechnologies.org/emergency/get_medicine.php";
HttpClient client = new DefaultHttpClient();
HttpPost request = new HttpPost();
request.setURI(new URI(link));
List<NameValuePair> postParameters = new ArrayList<NameValuePair>();
postParameters.add(new BasicNameValuePair("disease_name", result2));
System.out.println("Result2:"+result2);
UrlEncodedFormEntity form = new UrlEncodedFormEntity(postParameters);
request.setEntity(form);
HttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
String result=EntityUtils.toString(entity);
result1 = result;
System.out.println("Result: "+result);
System.out.println("Result1: "+result1);
Intent i= new Intent(Medicines.this,View_medicines.class);
i.putExtra("result", result.toString());
startActivity(i);
}catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
私有类MyTask扩展了AsyncTask{
@凌驾
受保护的字符串doInBackground(字符串…参数){
//TODO自动生成的方法存根
试一试{
字符串链接=”http://www.amtechnologies.org/emergency/get_medicine.php";
HttpClient=new DefaultHttpClient();
HttpPost请求=新建HttpPost();
setURI(新URI(link));
List postParameters=new ArrayList();
添加(新的BasicNameValuePair(“疾病名称”,result2));
System.out.println(“Result2:+Result2”);
UrlEncodedFormEntity表单=新的UrlEncodedFormEntity(后参数);
请求。设置实体(表格);
HttpResponse response=client.execute(请求);
HttpEntity=response.getEntity();
字符串结果=EntityUtils.toString(实体);
结果1=结果;
System.out.println(“结果:+Result”);
System.out.println(“Result1:+Result1”);
意向i=新意向(Medicines.this,View\u Medicines.class);
i、 putExtra(“result”,result.toString());
星触觉(i);
}捕获(URISyntaxException e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(客户端协议例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
返回null;
}
}
下一个活动:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_medicines);
mnm=(EditText) findViewById(R.id.m3);
mi=(TextView) findViewById(R.id.m2);
nextbtn=(Button) findViewById(R.id.okmedi);
nextbtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent myIntent = new Intent(View_medicines.this,Homepage.class);
startActivity(myIntent);
finish();
}
});
try {
Intent intent = getIntent();
String jsonArray=intent.getStringExtra("result");
jArray = new JSONArray(jsonArray);
System.out.println("Universe Acitivy Json Array: "+jArray);
for(int i=0;i<jArray.length();i++){
String names=new JSONObject(jArray.getString(i)).get("medicine_name").toString();
System.out.println(names+"");
mnm.setText(names);
mi.setText(""+new JSONObject(jArray.getString(i)).get("medicine_intake"));
Toast.makeText(getApplicationContext(),""+new JSONObject(jArray.getString(i)).get("medicine_name").toString(), Toast.LENGTH_SHORT).show();
}
int SDK_INT = android.os.Build.VERSION.SDK_INT;
if (SDK_INT > 8)
{
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
.permitAll().build();
StrictMode.setThreadPolicy(policy);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u view\u medicines);
mnm=(EditText)findViewById(R.id.m3);
mi=(TextView)findViewById(R.id.m2);
nextbtn=(按钮)findviewbyd(R.id.okmedi);
setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
Intent myIntent=新的Intent(查看药物,这是Homepage.class);
星触觉(myIntent);
完成();
}
});
试一试{
Intent=getIntent();
String jsonArray=intent.getStringExtra(“结果”);
jArray=新的JSONArray(JSONArray);
System.out.println(“宇宙活动Json数组:“+jArray”);
对于(int i=0;i 8)
{
StrictMode.ThreadPolicy policy=新建StrictMode.ThreadPolicy.Builder()
.permitAll().build();
StrictMode.setThreadPolicy(策略);
}
}捕获(JSONException e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
更改此部分
for(int i=0;i<jArray.length();i++){
String names=new JSONObject(jArray.getString(i)).get("medicine_name").toString();
System.out.println(names+"");
mnm.setText(names);
mi.setText(""+new JSONObject(jArray.getString(i)).get("medicine_intake"));
Toast.makeText(getApplicationContext(),""+new JSONObject(jArray.getString(i)).get("medicine_name").toString(), Toast.LENGTH_SHORT).show();
}
for(int i=0;ichange mnm.setText(names);to mnm.append(names+“\n”);是否仍然没有得到完整的结果他们完成了!!非常感谢。这是我的第一个问题!如果有帮助,请不要忘记接受答案:)
for(int i=0;i<jArray.length();i++){
String names=new JSONObject(jArray.getString(i)).get("medicine_name").toString();
System.out.println(names+"");
mnm.append(names);
mi.append(""+new JSONObject(jArray.getString(i)).get("medicine_intake"));
Toast.makeText(getApplicationContext(),""+new JSONObject(jArray.getString(i)).get("medicine_name").toString(), Toast.LENGTH_SHORT).show();
}