2016-05-03 17 views
-5

誰もがリストビューから項目をクリックするたびに詳細項目を他の断片の詳細に表示する方法を知っていますか?どのように設定するのですか?誰かがこれについての例を持っていますか?リストビューの詳細項目を表示するには

ダイアログやフラグメントを使用して詳細を表示する方が良いでしょうか?リストビューで

enter image description here だけショー: - ナマ、gambar1、TIPE、mainmuscle、othermuscle、ALAT、私が表示したい詳細フラグメントの評価: -Nama、gambar1、TIPE、mainmuscle、othermuscle、ALAT、ここでの評価、deskripsi、gambar2、gambar3、gambar4

私のコード:

Fragment.java

public class AbdominalFragment extends Fragment { 
    // Log tag 
    private static final String TAG = AbdominalFragment.class.getSimpleName(); 

    // Movies json url 
    private static final String url = "http......."; 
    private ProgressDialog pDialog; 
    private List<Exercise> exerciseList = new ArrayList<Exercise>(); 
    private ListView listView; 
    private CustomListAdapter adapter; 

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

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

    } 

    @Override 
    public void onDestroy() { 
     super.onDestroy(); 
     hidePDialog(); 
    } 

    private void hidePDialog() { 
     if (pDialog != null) { 
      pDialog.dismiss(); 
      pDialog = null; 
     } 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.activity_list, container, false); 
     // Inflate the layout for this fragment 

     final ListView listView = (ListView) rootView.findViewById(R.id.list); 
     adapter = new CustomListAdapter(getActivity(), exerciseList); 
     listView.setAdapter(adapter); 

     pDialog = new ProgressDialog(getActivity()); 
     // Showing progress dialog before making http request 
     pDialog.setMessage("Loading..."); 
     pDialog.show(); 

     if(exerciseList.isEmpty()) { 
      // Creating volley request obj 
      JsonArrayRequest exerciseReq = new JsonArrayRequest(url, 
        new Response.Listener<JSONArray>() { 
         @Override 
         public void onResponse(JSONArray response) { 
          Log.d(TAG, response.toString()); 
          hidePDialog(); 

          exerciseList.clear(); 

          // Parsing json 
          for (int i = 0; i < response.length(); i++) { 
           try { 

            JSONObject obj = response.getJSONObject(i); 
            Exercise exercise = new Exercise(); 
            if (obj.getString("tipe").equals("abdominal")) { 
             exercise.setNama(obj.getString("nama")); 
             exercise.setGambar1(obj.getString("gambar1")); 
             exercise.setTipe(obj.getString("tipe")); 
             exercise.setMainmuscle(obj.getString("mainmuscle")); 
             exercise.setAlat(obj.getString("alat")); 
             exercise.setTipe(obj.getString("othermuscle")); 
             exercise.setRating(obj.getDouble("rating")); 


             // adding exercise to exercise array 
             exerciseList.add(exercise); 
            } 
           } catch (JSONException e) { 
            e.printStackTrace(); 
           } 

          } 

          // notifying list adapter about data changes 
          // so that it renders the list view with updated data 
          adapter.notifyDataSetChanged(); 
         } 
        }, new Response.ErrorListener() { 
       @Override 
       public void onErrorResponse(VolleyError error) { 
        VolleyLog.d(TAG, "Error: " + error.getMessage()); 
        hidePDialog(); 

       } 
      }); 

      // Adding request to request queue 
      AppController.getInstance().addToRequestQueue(exerciseReq); 
     }else{ 
      hidePDialog(); 
     } 
     return rootView; 
    } 

    @Override 
    public void onAttach(Activity activity) { 
     super.onAttach(activity); 
    } 

    @Override 
    public void onDetach() { 
     super.onDetach(); 
    } 
} 
+0

ドキュメントには、必要な例があります。 http://developer.android.com/training/basics/fragments/communicating.html –

+1

問題は何ですか? JSON解析、データの受け渡し、別のフラグメントや別のものの置換? –

+0

申し訳ありませんが、実際には、表示項目を表示する方法を知りたいのですが、詳細を表示するリストビューから1つをクリックしてください –

答えて

1

もちろん、タブレットの場合はリストと詳細が並べて表示され、リストのクリックでは電話で詳細画面が表示されるなど、画面のサイズに合わせてフラグメントが優れています。

たとえば、このリンクに従ってください。

http://mobileappdocs.com/android.html

+0

ありがとう、このソースは私が欲しいが、どのように私のコードにitemonclickを実装するには、私plsを助けることができる? –

+0

も上記の例にあります。 –

+0

ありがとうbtwはすでに参照してくださいと私はコードを置く必要がありますwheresを知っていない:D –

関連する問題