انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
رفرش کردن گریدویو بعد از انجام اپدیت

رفرش کردن گریدویو بعد از انجام اپدیت

#1
سلام
وقت بخیر
من برای نمایش یک سری اطلاعات از گریدویو اختصاصی استفاده می کنم با کد های زیر :
کد پی‌اچ‌پی:
        for (int i 0<savei++) {
            
            
Goroh[i]= db.ngoroh("khanevade"i1);
            
model[i]= db.ngoroh("khanevade"i11);
            }
        
        
        
CustomGrid adapter = new CustomGrid(getActivity(), GorohimageId);
        
grid.setAdapter(adapter); 
برای دریافت اطلاعات از سرور و ذخیره اطلاعات در دیتابیس برنامه هم از AsyncTask استفاده می کنم، در قسمت onProgressUpdate سعی کردم با متد زیر گریدویو رو رفرش کنم :

@Override
            protected void onProgressUpdate(String... values) {
                new Runnable() {

                    @Override
                    public void run() {
                        refresher();
                        
                    }
                    
                };
                super.onProgressUpdate(values);
            }

اما متاسفانه کار نمیکنه

کد های کامل برنامه :
کد پی‌اچ‌پی:
public class Khanevadeh extends Fragment {
    private static final 
String TAG_SUCCESS "success";
    private static final 
String TAG_PRODUCTS "products";
    private static final 
String TAG_ID "id";
    private static final 
String TAG_GOROH "goroh";
    private static final 
String TAG_ZIRGOROH "zirgoroh";
    private static final 
String TAG_NAME "name";
    private static final 
String TAG_MATN "matn";
    private static final 
String TAG_TASVIR "tasvir";
    private static final 
String TAG_LIKE "like";
    private static final 
String TAG_RATE "rate";
    private static final 
String TAG_MODEL "model";
    private static 
String url_all_products "http://aghsatiha.com/bparsi/khanevade_update.php";
    
JSONParser jParser = new JSONParser();
    private 
database db;
    
String id;
    
JSONArray products null;
    
GridView grid;
    
String[] Goroh;
    
String[] model;
    
int[] imageId = {
            
R.drawable.image1,
            
R.drawable.image2,
            
R.drawable.image3,
            
R.drawable.image4,
            
R.drawable.image5
    
};
 
    @
Override
    
public View onCreateView(LayoutInflater inflaterViewGroup container,
            
Bundle savedInstanceState) {
        
// inflate the root view of the fragment
        
View fragmentView inflater.inflate(R.layout.khanevadehcontainerfalse);
        
db = new database(getActivity());
        
db.open();
        
setHasOptionsMenu(true);
        
id db.akharinid("khanevade"0);
        
grid=(GridView)fragmentView.findViewById(R.id.grid_khanevadeh);
        
        
refresher();
        

        return 
fragmentView;
    }

    private 
void refresher() {
        
        
int save db.shgoroh("khanevade");
        
Goroh = new String [save];
        
model = new String [save];
        
        for (
int i 0<savei++) {
            
            
Goroh[i]= db.ngoroh("khanevade"i1);
            
model[i]= db.ngoroh("khanevade"i11);
            }
        
        
        
CustomGrid adapter = new CustomGrid(getActivity(), GorohimageId);
        
grid.setAdapter(adapter);
        
        
grid.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @
Override
            
public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {
                
                if (model[position].equals("1")) {
                    Intent intent = new Intent(getActivity(), Onvanha_khanevadeh.class);
                    intent.putExtra("goroh", Goroh[position]);
                    intent.putExtra("zirgoroh", "0");
                    startActivity(intent);
                } else {
                    Intent intent = new Intent(getActivity(), Zirgoroh_khanevadeh.class);
                    intent.putExtra("goroh", Goroh[position]);
                    startActivity(intent);
                }
                
            }
            
            
            
        });

    }
    
    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
       inflater.inflate(R.menu.main, menu);
    }
    
    public void showToast(String msg){
        Toast.makeText(getActivity(), msg, Toast.LENGTH_SHORT).show();
    }
    
    
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
         switch (item.getItemId()) {
         
            case R.id.refresh:
                NetAsync(getView());
                return true;
     
            case R.id.copyLink:
                showToast("Copy link was clicked.");
                return true;
     
            case R.id.share:
                showToast("Share was clicked.");
                return true;
     
            case R.id.action_settings: 
                showToast("actionsettings was clicked.");
                  return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }
    
    public void NetAsync(View view){
        
        new NetCheck().execute();

    }

    private class NetCheck extends AsyncTask<String,String,Boolean> {
        private ProgressDialog nDialog;

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            nDialog = new ProgressDialog(getActivity());
            nDialog.setMessage("Loading..");
            nDialog.setTitle("Checking Network");
            nDialog.setIndeterminate(false);
            nDialog.setCancelable(true);
            nDialog.show();
        }
        
        
        @Override
        protected Boolean doInBackground(String... params) {
            /**
             * Gets current device state and checks for working internet connection by trying Google.
             **/
                        ConnectivityManager cm = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
                        NetworkInfo netInfo = cm.getActiveNetworkInfo();
                        if (netInfo != null && netInfo.isConnected()) {
                            try {
                                URL url = new URL("http://www.google.com");
                                HttpURLConnection urlc = (HttpURLConnection) url.openConnection();
                                urlc.setConnectTimeout(3000);
                                urlc.connect();
                                if (urlc.getResponseCode() == 200) {
                                    return true;
                                }
                            } catch (MalformedURLException e1) {
                                // TODO Auto-generated catch block
                                e1.printStackTrace();
                            } catch (IOException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }
                        }
                        return false;
        }
        @Override
        protected void onPostExecute(Boolean result) {
            
            if (result==true) {
                nDialog.dismiss();
                new ProcessUpdatedb().execute();
                
            } else {
                nDialog.dismiss();
                Toast.makeText(getActivity(), "مشکل در ارتباط با اینترنت", Toast.LENGTH_SHORT).show();

            }
            
            
        }
        
    }
        
        
    private class ProcessUpdatedb extends AsyncTask<String, String, JSONObject> {
        private ProgressDialog pDialog;
        
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
         pDialog = new ProgressDialog(getActivity());
         pDialog.setTitle("Contacting Servers");
         pDialog.setMessage("Updating Database ...");
         pDialog.setIndeterminate(false);
         pDialog.setCancelable(true);
         pDialog.show();
         
         
        }

            @Override
            protected JSONObject doInBackground(String... params) {
                // Building Parameters
                
                
                            List<NameValuePair> params1 = new ArrayList<NameValuePair>();
                            params1.add(new BasicNameValuePair("id", id));
                            JSONObject json = jParser.getJSONFromUrl(url_all_products, params1);
                                    
                            Log.d("All Products: ", json.toString());
                            try {
                                int success = json.getInt(TAG_SUCCESS);
                                if (success == 1) {
                                    products = json.getJSONArray(TAG_PRODUCTS);
                                    for (int i = 0; i < products.length(); i++) {
                                        JSONObject c = products.getJSONObject(i);
                                        String id = c.getString(TAG_ID);
                                        String goroh = c.getString(TAG_GOROH);
                                        String zirgoroh = c.getString(TAG_ZIRGOROH);
                                        String name = c.getString(TAG_NAME);
                                        String matn = c.getString(TAG_MATN);
                                        String tasvir = c.getString(TAG_TASVIR);
                                        String like = c.getString(TAG_LIKE);
                                        String rate = c.getString(TAG_RATE);
                                        String model = c.getString(TAG_MODEL);
                                        
                                        db.update_khanevade(id, goroh, zirgoroh, name, matn, tasvir, like, rate, model);
                                        
                                    }
                                    

                                } else {
                                    // no products found
                                    // Launch Add New product Activity
                                    Intent i = new Intent(getActivity(),MainActivity.class);
                                    // Closing all previous activities
                                    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                                    startActivity(i);
                                }
                            } catch (JSONException e) {
                                e.printStackTrace();
                            }

                            return null;
        }
            
            @Override
            protected void onProgressUpdate(String... values) {
                new Runnable() {

                    @Override
                    public void run() {
                        refresher();
                        
                    }
                    
                };
                super.onProgressUpdate(values);
            }
            
            @Override
            protected void onPostExecute(JSONObject result) {
                pDialog.dismiss();
                Toast.makeText(getActivity(), "آپدیت شد حالشو ببر پسر", Toast.LENGTH_SHORT).show();
                
                super.onPostExecute(result);
            }    
    

    }



برای رفرش گریدویو باید چه دستوراتی و چجوری به کار ببرم؟
پاسخ


پیام‌های این موضوع
رفرش کردن گریدویو بعد از انجام اپدیت - توسط parniaznet - ۱۳۹۴/۰۱/۱۶, ۱۲:۳۹ ق.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان