تالار گفتمان nCIS.ir

نسخه‌ی کامل: رفرش نشدن اطلاعات در AlertDialog کاستوم
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام وقت بخیر 
من یه الرت کاستوم ساختم و درونش از SwipeRefreshLayout  استفاده کردم 
اما زمانی که اقدام به رفرش کردن میکنم با وجود اینکه متد setOnSwipefreshListener  رو  تعریف کردم اما اصلا وارد این متد نمیشه و کد های اون اجرا نمیشه
این هم از کد هام
AlertDialog.Builder dialBuilder = new AlertDialog.Builder(Activity_game.this);
LayoutInflater inflater = Activity_game.this.getLayoutInflater();
View dialogView = inflater.inflate(R.layout.alert_score_table, null);
dialBuilder.setView(dialogView);
alertDialog_score = dialBuilder.create();
alertDialog_score.show();
alertDialog_score.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
alertDialog_score.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
alertDialog_score.setCancelable(false);
final RecyclerView score_list = (RecyclerView) alertDialog_score.findViewById(R.id.rv_score_table);

final SwipeRefreshLayout my_swipe = (SwipeRefreshLayout) alertDialog_score.findViewById(R.id.mySwipe_score_table);

final AVLoadingIndicatorView progres_score = (AVLoadingIndicatorView) alertDialog_score.findViewById(R.id.avi_score_table);
progres_score.smoothToShow();

final RequestQueue myQueue_score = Volley.newRequestQueue(Activity_game.this);
final StringRequest myString_score = new StringRequest(StringRequest.Method.POST, "http://cb-soft.ir/name-family/get_info_score_table.php"
        , new Response.Listener<String>() {
    @Override
    public void onResponse(String s) {
        progres_score.smoothToHide();

        if (s.equals("ther is no data")) {
            Toast.makeText(Activity_game.this, "خطا در برقراری ارتباط با سرور", Toast.LENGTH_SHORT).show();
        } else {
            try {
                JSONArray myJsonArray = new JSONArray(s);
                score_list.setAdapter(new MyAdapterInfoScore(Activity_game.this, myJsonArray));
                score_list.setLayoutManager(new LinearLayoutManager(Activity_game.this, LinearLayoutManager.VERTICAL, false));
                score_list.setHasFixedSize(true);

            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }
}, null) {

    @Override
    public byte[] getBody() throws AuthFailureError {
        try {
            return ("admin_group=" + capitan_name
                    + "&group_name=" + group_name_g
                    + "&game_letter=" + letter).getBytes("UTF8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
            return null;
        }
    }
};

myQueue_score.add(myString_score);
myQueue_score.start();

alertDialog_score.show();
my_swipe.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
    @Override
    public void onRefresh() {
        myQueue_score.add(myString_score);
        myQueue_score.start();
        my_swipe.setRefreshing(false);
    }
});
این مورد رو امتحان کنید: دستور alertDialog_score.show رو ببرین آخرین دستور بگذارین.
این کار رو هم کردم اما بازم بی نتیجه بود Sad