leila71
دوشنبه 02 فروردین 1395, 06:27 صبح
سلام
سال نوتون مبارک
من میخوام اطلاعاتی که از json میگیرم رو در لیست ویو custom شده نمایش بدم برای این منظور کدی رو نوشتم و به من ج نمیده خواهشا راهنمایی کنید
من 2 تا edittext دارم که توش تاریخ رو به صورت 1390 و 1391 وارد میکنم و حالا داده های بین این دو تاریخ رو میخوام تو لیست ویو نمایش بدم
این کلاس MainActivity هست
import java.util.ArrayList;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import Parser.Myjson_Parser;
import android.R.integer;
import android.app.Activity;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.PowerManager;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
private EditText getfdate;
private EditText gettdate;
private Button submit;
private String fdate;
private String tdate;
//private ListView mListView;
private ArrayList<String> date;
private ArrayList<String> title;
//ArrayAdapter<String> mAdapter;
//List<Data> dataha;
//Activity context;
DataAdapter adapter;
ListView listProduct;
ArrayList<Data> records;
Myjson_Parser jParser = new Myjson_Parser();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//context=this;
getfdate = (EditText) findViewById(R.id.fdate);
gettdate = (EditText) findViewById(R.id.tdate);
//listProduct = (ListView) findViewById(R.id.listView1);
submit = (Button) findViewById(R.id.btn);
submit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
fdate = String.valueOf(getfdate.getText().toString());
Log.d("TAG", "your fdate :" + fdate);
tdate = String.valueOf(gettdate.getText().toString());
Log.d("TAG", "your tdate :" + tdate);
new JSONParse().execute();
}
});
}
class JSONParse extends AsyncTask<String, Void, ArrayList<String>> {
JSONArray mtitle;
JSONArray mdate;
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected ArrayList<String> doInBackground(String... args) {
JSONObject object = jParser
.getJSONFromUrl("http://10.0.2.2/datejson.php?fdate="
+ fdate + "&tdate=" + tdate);
Log.d("TAG", "object :" + object.toString());
try {
mtitle = object.getJSONArray("title");
mdate = object.getJSONArray("date");
} catch (JSONException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
int NumOfObjects = mtitle.length();
Log.d("TAG", "NumOfObjects :" + NumOfObjects);
return null;
}
protected void onPostExecute(ArrayList<String> we) {
title = new ArrayList<String>();
date = new ArrayList<String>();
if (mtitle != null) {
int len = mtitle.length();
Log.d("TAG", "length :" + len);
for (int i = 0; i < len; i++) {
try {
title.add(mtitle.get(i).toString());
date.add(mdate.get(i).toString());
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Log.d("TAG", "title :" + title);
Log.d("TAG", "date :" + date);
Context context = MainActivity.this;
//mAdapter = new ArrayAdapter<String>(context,
//R.layout.custom_textview, title);
//mListView.setAdapter(mAdapter);
records=new ArrayList<Data>();
listProduct=(ListView)findViewById(R.id.listView1) ;
adapter=new DataAdapter(context, R.layout.custom_listview,R.id.txttitle,
records);
listProduct.setAdapter(adapter);
}
}
protected void onPostExecute(Void result){
Log.e("size", records.size() + "");
adapter.notifyDataSetChanged(); //notify the ListView to get new records
}
}
اینم کلاس DataAdapter
public class DataAdapter extends ArrayAdapter<Data> {
int groupid;
ArrayList<Data> records;
Context context;
public DataAdapter(Context context, int vg, int id, ArrayList<Data>
records) {
super(context, vg, id, records);
this.context = context;
groupid = vg;
this.records = records;
}
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_S ERVICE);
View itemView = inflater.inflate(groupid, parent, false);
TextView title = (TextView) itemView.findViewById(R.id.txttitle);
title.setText(records.get(position).gettitle());
TextView date = (TextView) itemView.findViewById(R.id.txtdate);
date.setText(records.get(position).getdate());
return itemView;
}
}
اینم کلاس Data
public class Data {
private String title;
private String date;
public void settitle(String title){this.title=title;}
public void setdate(String date){this.date=date;}
public String gettitle(){return title;}
public String getdate(){return date;}
}
خواهشا کمک کنید
مرسیییییییی
سال نوتون مبارک
من میخوام اطلاعاتی که از json میگیرم رو در لیست ویو custom شده نمایش بدم برای این منظور کدی رو نوشتم و به من ج نمیده خواهشا راهنمایی کنید
من 2 تا edittext دارم که توش تاریخ رو به صورت 1390 و 1391 وارد میکنم و حالا داده های بین این دو تاریخ رو میخوام تو لیست ویو نمایش بدم
این کلاس MainActivity هست
import java.util.ArrayList;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import Parser.Myjson_Parser;
import android.R.integer;
import android.app.Activity;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.PowerManager;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
private EditText getfdate;
private EditText gettdate;
private Button submit;
private String fdate;
private String tdate;
//private ListView mListView;
private ArrayList<String> date;
private ArrayList<String> title;
//ArrayAdapter<String> mAdapter;
//List<Data> dataha;
//Activity context;
DataAdapter adapter;
ListView listProduct;
ArrayList<Data> records;
Myjson_Parser jParser = new Myjson_Parser();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//context=this;
getfdate = (EditText) findViewById(R.id.fdate);
gettdate = (EditText) findViewById(R.id.tdate);
//listProduct = (ListView) findViewById(R.id.listView1);
submit = (Button) findViewById(R.id.btn);
submit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
fdate = String.valueOf(getfdate.getText().toString());
Log.d("TAG", "your fdate :" + fdate);
tdate = String.valueOf(gettdate.getText().toString());
Log.d("TAG", "your tdate :" + tdate);
new JSONParse().execute();
}
});
}
class JSONParse extends AsyncTask<String, Void, ArrayList<String>> {
JSONArray mtitle;
JSONArray mdate;
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected ArrayList<String> doInBackground(String... args) {
JSONObject object = jParser
.getJSONFromUrl("http://10.0.2.2/datejson.php?fdate="
+ fdate + "&tdate=" + tdate);
Log.d("TAG", "object :" + object.toString());
try {
mtitle = object.getJSONArray("title");
mdate = object.getJSONArray("date");
} catch (JSONException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
int NumOfObjects = mtitle.length();
Log.d("TAG", "NumOfObjects :" + NumOfObjects);
return null;
}
protected void onPostExecute(ArrayList<String> we) {
title = new ArrayList<String>();
date = new ArrayList<String>();
if (mtitle != null) {
int len = mtitle.length();
Log.d("TAG", "length :" + len);
for (int i = 0; i < len; i++) {
try {
title.add(mtitle.get(i).toString());
date.add(mdate.get(i).toString());
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Log.d("TAG", "title :" + title);
Log.d("TAG", "date :" + date);
Context context = MainActivity.this;
//mAdapter = new ArrayAdapter<String>(context,
//R.layout.custom_textview, title);
//mListView.setAdapter(mAdapter);
records=new ArrayList<Data>();
listProduct=(ListView)findViewById(R.id.listView1) ;
adapter=new DataAdapter(context, R.layout.custom_listview,R.id.txttitle,
records);
listProduct.setAdapter(adapter);
}
}
protected void onPostExecute(Void result){
Log.e("size", records.size() + "");
adapter.notifyDataSetChanged(); //notify the ListView to get new records
}
}
اینم کلاس DataAdapter
public class DataAdapter extends ArrayAdapter<Data> {
int groupid;
ArrayList<Data> records;
Context context;
public DataAdapter(Context context, int vg, int id, ArrayList<Data>
records) {
super(context, vg, id, records);
this.context = context;
groupid = vg;
this.records = records;
}
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_S ERVICE);
View itemView = inflater.inflate(groupid, parent, false);
TextView title = (TextView) itemView.findViewById(R.id.txttitle);
title.setText(records.get(position).gettitle());
TextView date = (TextView) itemView.findViewById(R.id.txtdate);
date.setText(records.get(position).getdate());
return itemView;
}
}
اینم کلاس Data
public class Data {
private String title;
private String date;
public void settitle(String title){this.title=title;}
public void setdate(String date){this.date=date;}
public String gettitle(){return title;}
public String getdate(){return date;}
}
خواهشا کمک کنید
مرسیییییییی