Android OnpostExecute中的ListView并显示相应的信息
先生,我已经为自定义列表视图编写了代码,这非常好,但我想为onitem编写代码,在onpostexecutemethod中单击ListNet,并根据我的票证显示相应的信息。我想显示所选项目的所有票证信息Android OnpostExecute中的ListView并显示相应的信息,android,Android,先生,我已经为自定义列表视图编写了代码,这非常好,但我想为onitem编写代码,在onpostexecutemethod中单击ListNet,并根据我的票证显示相应的信息。我想显示所选项目的所有票证信息 class viewticket extends AsyncTask<String, Void, String> { @Override protected void onPreExecute() { super.onPreExecute();
class viewticket extends AsyncTask<String, Void, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pdialog = new ProgressDialog(UserLogedIn.this);
pdialog.setMessage("Loading....");
pdialog.setIndeterminate(false);
pdialog.setCancelable(false);
pdialog.show();
}
@Override
protected String doInBackground(String... params) {
List<NameValuePair> param = new ArrayList<NameValuePair>();
param.add(new BasicNameValuePair("userid", u_id));
// JSONObject jsonArray = jpar.makeHttpRequest(URLMyTicket, "POST", param);
ServiceHandler sh = new ServiceHandler();
String jsonStr = sh.makeServiceCall(URLMyTicket, ServiceHandler.POST, param);
Log.d("Response: ", "> " + jsonStr);
if (jsonStr != null)
{
try {
contacts = new JSONArray(jsonStr);
a=contacts.length();
Log.v(TAG, ".................." + a);
if(a > 0 ) {
id = new String[contacts.length()];
stats = new String[contacts.length()];
due_date = new String[contacts.length()];
prob = new String[contacts.length()];
for (int i = 0; i < contacts.length(); i++) {
JSONObject c = contacts.getJSONObject(i);
String aa = c.getString(TAG_ID);
String bb = c.getString(TAG_PROB);
String cc = c.getString(TAG_status);
String dd = c.getString(TAG_due_date);
Log.v(TAG, "TAG_ID" + aa);
Log.v(TAG, "TAGPROB" + bb);
Log.v(TAG, "TAGPROB" + cc);
Log.v(TAG, "TAGPROB" + dd);
id[i] = aa;
prob[i] = bb;
stats[i] = cc;
due_date[i] = dd;
Log.v(TAG, "aaaaa" + id[i]);
Log.v(TAG, "bbbbb" + prob[i]);
Log.v(TAG, "cccc" + stats[i]);
Log.v(TAG, "dddd" + due_date[i]);
}
}
} catch (JSONException e) {
System.out.print("hiiiiiiiiiiii" );
e.printStackTrace();
}
}
return null;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
// Dismiss the progress dialog
Log.v(TAG, "length of aaaaa" + a);
if(id!=null && id.length > 0 )
{
Ticket_adapter adapter=new Ticket_adapter(UserLogedIn.this,id,prob,stats,due_date,stimg);
lv.setAdapter(adapter);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
//how to write code to send ticket releated data to next activity of respective ticket
}
});
}
else
{
Toast.makeText(UserLogedIn.this, "No Ticket Present", Toast.LENGTH_SHORT).show();
}
pdialog.hide();
pdialog.dismiss();
}
}
如果您的票证数据保存在模型类、票证或类似的东西中,我建议让它实现Parcelable,然后将其传递给intent、intent.putExtraString、Parcelable中的相关活动,然后使用Parcelable数据new TicketParcelable在新活动中重新创建模型类。如果只是少量的信息名称、数字等,只需通过intent、intent.putExtraString、String直接传递它们