我希望喜欢在主页片段上发布。但现在像计数不会立即添加到配置文件页面片段中,需要一些时间来加载类似的计数。
这是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));
}
`