在我的应用程序中,我正在搜索模块,我之前的问题是 How to show json response in other activity?为此,我在服务器中发送请求,之后我得到响应,作为响应我得到一些数据,我想在下一页显示这些数据,我不知道该怎么做,有人可以帮忙吗?
class AttemptLogin extends AsyncTask<String, String, String> {
boolean failure = false;
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(getActivity());
pDialog.setMessage("Processing..");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
@SuppressWarnings("unused")
@Override
protected String doInBackground(String...args) {
//Check for success tag
//int success;
Looper.prepare();
String userids = strtext.toString();
String contri=spcountry.getText().toString();
String states=spstate.getText().toString();
String city=spcity.getText().toString();
System.out.println("Email : " + userids);
System.out.println("Email : " + agesfrom);
System.out.println("Days : " + agesto);
System.out.println("Months : " + heightfroms);
System.out.println("Years : " + heighttos);
System.out.println("User : " + language);
System.out.println("Password : " + religion);
System.out.println("Gender : " + marriage);
System.out.println("First NM : " + contri);
System.out.println("Last NM : " + states);
System.out.println("Profile : " + city);*/
try {
//Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("user_login_id", userids));
/* params.add(new BasicNameValuePair("age_from", agesfrom));
params.add(new BasicNameValuePair("age_to", agesto));
params.add(new BasicNameValuePair("height_from", heightfroms));
params.add(new BasicNameValuePair("height_to", heighttos));
params.add(new BasicNameValuePair("language", language));
params.add(new BasicNameValuePair("religion", religion));
params.add(new BasicNameValuePair("maritalstatus", marriage));
params.add(new BasicNameValuePair("country", contri));
params.add(new BasicNameValuePair("state", states));
params.add(new BasicNameValuePair("city", city));
*/
params.add(new BasicNameValuePair("version", "apps"));
Log.d("request!", "starting");
// getting product details by making HTTP request
json = jsonParser.makeHttpRequest (
SEARCH_URL, "POST", params);
//check your log for json response
Log.d("Request attempt", json.toString());
final String str = json.toString();
JSONObject jobj = new JSONObject(json.toString());
final String msg = jobj.getString("searchresult");
return json.getString(TAG_SUCCESS);
}catch (JSONException e) {
e.printStackTrace();
}
return null;
}
// After completing background task Dismiss the progress dialog
protected void onPostExecute(String file_url) {
//dismiss the dialog once product deleted
pDialog.dismiss();
Intent intent=new Intent(getActivity(),SearchResults.class);
intent.putExtra("id", strtext);
intent.putExtra("whole", json.getString(TAG_SUCCESS));
startActivity(intent);
}}
搜索结果.java
Id=this.getIntent().getStringExtra("id");
System.out.println("searching id"+Id);
results=this.getIntent().getStringExtra("whole");
System.out.println("Results"+results);
nomathc=(TextView)findViewById(R.id.no_match);
最佳答案
可以通过以下方式在下一个 Activity 中显示响应
解决方案 1 响应以字符串形式出现,因此使用
将整个响应传递给下一个 Activity intent.putExtras("Key",response);
解决方案 2 创建一个单独的 getter setter 类,通过使用此类,您可以在我们的整个应用程序中设置和获取值。
像这样
第一步
public class SingleObject {
//create an object of SingleObject
private static SingleObject instance = new SingleObject();
private String name;
private String age;
//make the constructor private so that this class cannot be
//instantiated
private SingleObject(){}
//Get the only object available
public static SingleObject getInstance(){
return instance;
}
// here u can declare getter setter
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
第 2 步 在这样的第一个 Activity 中使用它
Singleton tmp = Singleton.getInstance( );
tmp.setName("");
第三步
在接下来的 Activity 中
Singleton tmp = Singleton.getInstance( );
String name = tmp.getName;
解决方案 3:制作一个 hashmap 的静态 Arraylist 并在任何 Activity 中使用它
或者可能有更多的解决方案.....
关于java - 如何在下一个 Activity 中显示响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27376387/