片段在android中没有立即刷新

时间:2016-03-07 04:31:13

标签: java android android-layout android-fragments android-studio

我希望喜欢在主页片段上发布。但现在像计数不会立即添加到配置文件页面片段中,需要一些时间来加载类似的计​​数。

这是PostFragment的代码。

public class PostFragment extends Fragment {

    ListView recyclerView;
    CustomPostAdapter adapter;
    private List<FeedItem> feedsList = new ArrayList<FeedItem>();
    private String LiveUrl,LiveUrl1, userID;
    public static final String MY_PREFS_NAME = "MyPrefsFile";
    public static final String TAG = "PostFragment";
    ImageButton btnBack;
    TextView emptyView;
    boolean delete=false;
    String like="like",unlike="unlike";

    //Progresswheel
    ProgressWheel pw;
    ResetPasswordActivity obj=new ResetPasswordActivity();

    public PostFragment() {
        // Required empty public constructor
    }

    public static Fragment newInstance(String userID) {

        Fragment fragment = new PostFragment();
        Bundle args = new Bundle();
        args.putString("userid", userID);
        System.out.println("userid in post instance" + userID);
        fragment.setArguments(args);
        return fragment;
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
        LiveUrl = sharedPreferences.getString("liveurl2", null);
        LiveUrl1 = sharedPreferences.getString("liveurl3", null);
        System.out.println("Liveurl1" + LiveUrl);
        userID = sharedPreferences.getString("useridfromprofile", null);
        System.out.println("userid from profile" + userID);

    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        Bundle arguments = getArguments();
        if (arguments != null) {
            // then you have arguments
            System.out.println("inside argument");
            System.out.println("inside user" + arguments.getString("userid"));
            userID = arguments.getString("userid");
        } else {
            // no arguments supplied...
            System.out.println("outside argument");
            SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
            userID = sharedPreferences.getString("useridfromprofile", null);
            System.out.println("userid from profile" + userID);
        }

        View v = inflater.inflate(R.layout.fragment_post, container, false);
        FontChangeCrawler fontChanger = new FontChangeCrawler(getContext().getAssets(), "arial.ttf");
        fontChanger.replaceFonts((ViewGroup) v);
        // Inflate the layout for this fragment

        System.out.println("Home");
        /*btnBack = (ImageButton) v.findViewById(R.id.button_back);
        btnBack.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                System.out.println("delete value inside button click"+delete);
                if(delete)
                {
                    getChildFragmentManager()
                        .beginTransaction()
                        .replace(
                                R.id.individualfragment,
                                EditprofileFragment.newInstance(null),
                                EditprofileFragment.TAG)
                        .addToBackStack(null)
                        .commit();

                }
                else {getFragmentManager().popBackStackImmediate();}

            }
        });*/

        pw=(ProgressWheel)v.findViewById(R.id.pw_spinner);
        obj.styleRandom(pw, v.getContext());

        recyclerView = (ListView) v.findViewById(R.id.recycler_view);
        emptyView = (TextView) v.findViewById(R.id.empty_view);
        getProfilePosts();
        adapter = new CustomPostAdapter(getContext(), feedsList, PostFragment.this);
        recyclerView.setAdapter(adapter);
        feedsList.clear();
        feedsList.addAll(feedsList);
        adapter.notifyDataSetChanged();


        recyclerView.setOnTouchListener(new ListView.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                int action = event.getAction();
                switch (action) {
                    case MotionEvent.ACTION_DOWN:
                        // Disallow ScrollView to intercept touch events.
                        v.getParent().requestDisallowInterceptTouchEvent(true);
                        break;

                    case MotionEvent.ACTION_UP:
                        // Allow ScrollView to intercept touch events.
                        v.getParent().requestDisallowInterceptTouchEvent(false);
                        break;
                }

                // Handle ListView touch events.
                v.onTouchEvent(event);
                return true;
            }
        });


        return v;

    }

    public void getProfilePosts() {

        pw.setVisibility(View.VISIBLE);
        pw.startSpinning();
        //String url=LiveUrl+"followingactivities?user_id="+userID;
        String url = LiveUrl+"user_post_data/?user_id=" + userID;
        System.out.println("URL IS" + url);
        JsonArrayRequest movieReq = new JsonArrayRequest(url,
                new Response.Listener<JSONArray>() {
                    @Override
                    public void onResponse(JSONArray response) {
                        // Parsing json
                        for (int i = 0; i < response.length(); i++) {
                            try {
                                pw.setVisibility(View.GONE);
                                pw.stopSpinning();
                                JSONObject suggested_jsonobj = response.getJSONObject(i);
                                FeedItem movie = new FeedItem();
                                if (!suggested_jsonobj.optString("user_id").isEmpty())
                                {
                                    movie.setTitle(suggested_jsonobj.optString("username"));
                                    movie.setId(suggested_jsonobj.optString("user_id"));
                                    movie.setPostID(suggested_jsonobj.optString("id"));
                                    movie.setVideoID(suggested_jsonobj.optString("video_src"));
                                    movie.setImageThumb(suggested_jsonobj.optString("image_thumb"));
                                    movie.setVideoImage(suggested_jsonobj.optString("image_thumb"));
                                    movie.setThumbnail(suggested_jsonobj.optString("profile_image"));
                                    movie.setDate(suggested_jsonobj.optString("created"));
                                    movie.setVotecount(suggested_jsonobj.optString("votecount"));
                                    movie.setPost(suggested_jsonobj.optString("resize1"));
                                    movie.setPrivacyStatus(suggested_jsonobj.optString("privacy_status"));
                                    movie.setLikedStatus(suggested_jsonobj.optString("like_status"));
                                    movie.setLikedCount(suggested_jsonobj.optString("like_count"));
                                    movie.setLikeduserID(suggested_jsonobj.optString("like_user_id1"));
                                    movie.setLikedUserName(suggested_jsonobj.optString("like_username1"));
                                    movie.setCommentCount(suggested_jsonobj.optString("comment_count"));
                                    movie.setCaption(suggested_jsonobj.optString("caption"));
                                    movie.setCaptionUserName(suggested_jsonobj.optString("captionusername"));
                                    movie.setTagCount(suggested_jsonobj.optString("tag_count"));
                                    if (!suggested_jsonobj.optString("image_tag").matches("null")) {
                                        final JSONArray arr = new JSONArray(suggested_jsonobj.optString("image_tag"));
                                        final JSONObject jObj = arr.optJSONObject(0);
                                        movie.setx1Tag(jObj.optString("x1"));
                                        movie.sety1Tag(jObj.optString("y1"));
                                        movie.setx1userName(jObj.optString("name1"));
                                        movie.setx1userID(jObj.optString("user_id1"));
                                        movie.setx2Tag(jObj.optString("x2"));
                                        movie.sety2Tag(jObj.optString("y2"));
                                        movie.setx2userName(jObj.optString("name2"));
                                        movie.setx2userID(jObj.optString("user_id2"));
                                        movie.setx3Tag(jObj.optString("x3"));
                                        movie.sety3Tag(jObj.optString("y3"));
                                        movie.setx3userName(jObj.optString("name3"));
                                        movie.setx3userID(jObj.optString("user_id3"));
                                        movie.setx4Tag(jObj.optString("x4"));
                                        movie.sety4Tag(jObj.optString("y4"));
                                        movie.setx4userName(jObj.optString("name4"));
                                        movie.setx4userID(jObj.optString("user_id4"));

                                    }if (!suggested_jsonobj.optString("comment").isEmpty()) {
                                    final JSONArray arr = new JSONArray(suggested_jsonobj.optString("comment"));
                                    final JSONObject jObj = arr.optJSONObject(0);
                                    movie.setCommentID(jObj.optString("id"));
                                    movie.setCommentuserName(jObj.optString("username"));
                                    movie.setCommentProPic(jObj.optString("image"));
                                    movie.setCommentText(jObj.optString("comment"));
                                }
                                    feedsList.add(movie);
                                }
                                /*if(suggested_jsonobj.optString("id").isEmpty())
                                {
                                    recyclerView.setVisibility(View.GONE);
                                    emptyView.setVisibility(View.VISIBLE);
                                }
                                else
                                {
                                    recyclerView.setVisibility(View.VISIBLE);
                                    emptyView.setVisibility(View.GONE);
                                }*/


                            } catch (JSONException e) {
                                pw.setVisibility(View.GONE);
                                pw.stopSpinning();
                                e.printStackTrace();
                            }

                        }
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                if (error instanceof NoConnectionError) {
                    pw.setVisibility(View.GONE);
                    pw.stopSpinning();
                    Toast.makeText(getContext(), "Sorry we couldn't complete your request.Please try again in a moment", Toast.LENGTH_SHORT).show();
                }

                VolleyLog.d(TAG, "Error: " + error.getMessage());


            }
        });

        // Adding request to request queue
        AppController.getInstance().addToRequestQueue(movieReq);
        movieReq.setRetryPolicy(new DefaultRetryPolicy(DefaultRetryPolicy.DEFAULT_TIMEOUT_MS * 2, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
    }

`

0 个答案:

没有答案