Advertisement
Guest User

MainActivity.java

a guest
Jun 23rd, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.97 KB | None | 0 0
  1. package com.dendra.materi1;
  2.  
  3. import android.support.v7.app.AppCompatActivity;
  4. import android.os.Bundle;
  5.  
  6. import android.support.v7.app.AppCompatActivity;
  7. import android.os.Bundle;
  8. import org.json.JSONArray;
  9. import java.util.ArrayList;
  10. import com.android.volley.VolleyError;
  11. import com.android.volley.toolbox.JsonArrayRequest;
  12. import com.android.volley.toolbox.Volley;
  13. import java.util.List;
  14. import android.support.v7.widget.LinearLayoutManager;
  15. import android.support.v7.widget.RecyclerView;
  16. import android.view.GestureDetector;
  17. import android.view.MotionEvent;
  18. import android.view.View;
  19. import android.widget.Toast;
  20. import com.android.volley.RequestQueue;
  21. import com.android.volley.Response;
  22. import org.json.JSONException;
  23. import org.json.JSONObject;
  24.  
  25. public class MainActivity extends AppCompatActivity {
  26.  
  27. List<DataAdapter> ListOfdataAdapter;
  28.  
  29. RecyclerView recyclerView;
  30.  
  31. String HTTP_JSON_URL = "http://192.168.8.102/cardimage/imagejson.php";
  32.  
  33. String Image_Name_JSON = "name";
  34.  
  35. String Image_URL_JSON = "url";
  36.  
  37. String File_URL_JSON ="file";
  38.  
  39. JsonArrayRequest RequestOfJSonArray ;
  40.  
  41. RequestQueue requestQueue ;
  42.  
  43. View view ;
  44.  
  45. int RecyclerViewItemPosition ;
  46.  
  47. RecyclerView.LayoutManager layoutManagerOfrecyclerView;
  48.  
  49. RecyclerView.Adapter recyclerViewadapter;
  50.  
  51. ArrayList<String> ImageTitleNameArrayListForClick;
  52.  
  53. @Override
  54. protected void onCreate(Bundle savedInstanceState) {
  55. super.onCreate(savedInstanceState);
  56.  
  57. setContentView(R.layout.activity_main);
  58.  
  59. ImageTitleNameArrayListForClick = new ArrayList<>();
  60.  
  61. ListOfdataAdapter = new ArrayList<>();
  62.  
  63. recyclerView = (RecyclerView) findViewById(R.id.recyclerview1);
  64.  
  65. recyclerView.setHasFixedSize(true);
  66.  
  67. layoutManagerOfrecyclerView = new LinearLayoutManager(this);
  68.  
  69. recyclerView.setLayoutManager(layoutManagerOfrecyclerView);
  70.  
  71. JSON_HTTP_CALL();
  72.  
  73. // Implementing Click Listener on RecyclerView.
  74. recyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
  75.  
  76. GestureDetector gestureDetector = new GestureDetector(MainActivity.this, new GestureDetector.SimpleOnGestureListener() {
  77.  
  78. @Override public boolean onSingleTapUp(MotionEvent motionEvent) {
  79.  
  80. return true;
  81. }
  82.  
  83. });
  84. @Override
  85. public boolean onInterceptTouchEvent(RecyclerView Recyclerview, MotionEvent motionEvent) {
  86.  
  87. view = Recyclerview.findChildViewUnder(motionEvent.getX(), motionEvent.getY());
  88.  
  89. if(view != null && gestureDetector.onTouchEvent(motionEvent)) {
  90.  
  91. //Getting RecyclerView Clicked Item value.
  92. RecyclerViewItemPosition = Recyclerview.getChildAdapterPosition(view);
  93.  
  94. // Showing RecyclerView Clicked Item value using Toast.
  95. Toast.makeText(MainActivity.this, ImageTitleNameArrayListForClick.get(RecyclerViewItemPosition), Toast.LENGTH_LONG).show();
  96. }
  97.  
  98. return false;
  99. }
  100.  
  101. @Override
  102. public void onTouchEvent(RecyclerView Recyclerview, MotionEvent motionEvent) {
  103.  
  104. }
  105.  
  106. @Override
  107. public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
  108.  
  109. }
  110. });
  111.  
  112.  
  113. }
  114.  
  115. public void JSON_HTTP_CALL(){
  116.  
  117. RequestOfJSonArray = new JsonArrayRequest(HTTP_JSON_URL,
  118.  
  119. new Response.Listener<JSONArray>() {
  120. @Override
  121. public void onResponse(JSONArray response) {
  122.  
  123. ParseJSonResponse(response);
  124. }
  125. },
  126. new Response.ErrorListener() {
  127. @Override
  128. public void onErrorResponse(VolleyError error) {
  129.  
  130. }
  131. });
  132.  
  133. requestQueue = Volley.newRequestQueue(MainActivity.this);
  134.  
  135. requestQueue.add(RequestOfJSonArray);
  136. }
  137.  
  138. public void ParseJSonResponse(JSONArray array){
  139.  
  140. for(int i = 0; i<array.length(); i++) {
  141.  
  142. DataAdapter GetDataAdapter2 = new DataAdapter();
  143.  
  144. JSONObject json = null;
  145. try {
  146.  
  147. json = array.getJSONObject(i);
  148.  
  149. GetDataAdapter2.setImageTitle(json.getString(Image_Name_JSON));
  150.  
  151. // Adding image title name in array to display on RecyclerView click event.
  152. ImageTitleNameArrayListForClick.add(json.getString(Image_Name_JSON));
  153.  
  154. GetDataAdapter2.setImageUrl(json.getString(Image_URL_JSON));
  155.  
  156. } catch (JSONException e) {
  157.  
  158. e.printStackTrace();
  159. }
  160. ListOfdataAdapter.add(GetDataAdapter2);
  161. }
  162.  
  163. recyclerViewadapter = new RecyclerViewAdapter(ListOfdataAdapter, this);
  164.  
  165. recyclerView.setAdapter(recyclerViewadapter);
  166. }
  167. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement