خواندن اطلاعات گرفته شده از جیسون
سلام دوستان
من یه سری اطلاعات رو از جیسون میگیرم و بوسیله Log برام نشونشون میده و تک تک جیسون آبجکت ها رو میگم توی Log بهم نشون بده، همه رو نشون میده بجز یکی! دو سه ساعته وقتمو گرفته درست نمیشه که نمیشه!!!
try {
G.users.clear(); JSONArray users = new JSONArray(result); for (int i = 0; i < users.length(); i++) { Log.i("LOG", "length :" + users.length()); Log.i("LOG", "JSONObject:" + users.getJSONObject(i)); JSONObject object = users.getJSONObject(i); Log.i("LOG", "Object:" + object.getLong("user_id")); Log.i("LOG", "Object:" + object.getString("user_name")); Log.i("LOG", "Object:" + object.getString("user_phone")); Log.i("LOG", "Object:" + object.getString("user_pass")); Log.i("LOG", "Object:" + object.getString("user_Address"));
خب دوستان من اطلاعات رو از جیسون گرفتم و تک تکشونو ذخیرشون کردم، بعد از اون یه دیالوگ باز میکنم که اطلاعات گرفته شده رو نشون میده، متد setText هر جوری صداش میکنم برنامه کرش می کنه! مشکلش چیه؟
try {
users.clear();
JSONArray userj = new JSONArray(result);
JSONObject object = userj.getJSONObject(0);
StructUsers user = new StructUsers();
user.id = object.getLong("user_id");
user.name = object.getString("user_name");
user.phone = object.getString("user_phone");
user.pass = object.getString("user_pass");
user.address = object.getString("user_address");
//Log.i("LOG", " " + user.id);
//Log.i("LOG", " " + user.name);
users.add(user);
final Dialog dialog = new Dialog(G.currentActivity);
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
TextView txtNameRecieved = (TextView) dialog.findViewById(R.id.txtNameRecieved);
TextView txtPhoneRecieved = (TextView) dialog.findViewById(R.id.txtPhoneRecieved);
TextView txtAddressRecieved = (TextView) dialog.findViewById(R.id.txtAddressRecieved);
txtNameRecieved.setText( user.name); <---از اینجا به بعد ایراد میگیره و کرش میکنه
txtPhoneRecieved.setText(user.phone);
txtAddressRecieved.setText(user.address);

سلام
اون قسمت هایی که میخوای تو تکست ویو ذخیره کنی رو "" بهش اضافه کن به این شکل
txtNameRecieved.setText( "" + user.name);
txtPhoneRecieved.setText("" +user.phone); txtAddressRecieved.setText("" + user.address);
فکر کنم مشکلتون رو فهمیدم
شما فایل xml رو به دیالوگ معرفی نکردین
finalDialog dialog =newDialog(G.currentActivity);
setContentView(R.layout.dialoglayout);// این خط رو اضافه کنید dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
من دقیقا متوجه منظورت نشدم اما تو یه کلاس عمومی مثل G میتونی یه آرایه پویا ArrayList با نووع موردنظرت که میتونه و باید یک Struct باشه بریزی و همه جا در دسترست هست چون کلاس G کلاس عمومیه ، البته یادت نره کلاس G رو در manifest اعلان کنی
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
