title: Display a fragment when an item in a listview is clicked
body: <p>I have a listview in a fragment class which gets data from a JSON. So far i was able to show the data in a listview. (here data is NEWS items) .I want to display a detailed page of the news when a particular news is clicked in the listview.</p>
  
  <p>Ex: Listview contains only the title and image of the news. When clicking that listview it should display a detailed version of that particulat news segment. How can i do this?</p>
  
  <p>This is the fragment class that has the Listview.</p>
  
  <pre><code>package com.fortuna.cinemalk;
  
  import java.util.ArrayList;
  
  import android.app.Activity;
  import android.app.FragmentManager;
  import android.os.AsyncTask;
  import android.os.Bundle;
  import android.support.v4.app.Fragment;
  import android.support.v4.app.FragmentTransaction;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.View.OnClickListener;
  import android.view.ViewGroup;
  import android.widget.AdapterView.OnItemClickListener;
  import android.widget.GridView;
  import android.widget.ListView;
  import android.content.Intent;
  import android.widget.AdapterView;
  
  
  
  import com.fortuna.cinemalk.adapter.LazyAdapter;
  import com.fortuna.cinemalk.model.BaseElement;
  import com.fortuna.cinemalk.service.CommonVariable;
  import com.fortuna.cinemalk.service.JSONServices;
  import com.fortuna.cinemalk.util.Element;
  
  public class NewsFramgment extends Fragment {
  
      private GridView gridView;
      private ListView listView;
  
      private ArrayList&lt;BaseElement&gt; News;
      private LazyAdapter adapter;
      private Activity activity;
      private CommonVariable commonVariable;
  
      @Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container,
              Bundle savedInstanceState) {
  
          View view = inflater.inflate(R.layout.news_fragment, container,
                  false);
  
          activity = this.getActivity();
  
          commonVariable = (CommonVariable) activity.getApplication();
  
          //gridView = (GridView) view.findViewById(R.id.gridView2);
          listView = (ListView) view.findViewById(R.id.list);
  
  
          listView.setOnItemClickListener(new OnItemClickListener() {
                 public void onItemClick(AdapterView&lt;?&gt; parent, View v,
                   int position, long id) {
  
  
                android.support.v4.app.Fragment detail = new NewsDetailFragment();
                android.support.v4.app.FragmentManager fragmentManager = getFragmentManager();
                fragmentManager.beginTransaction().add(R.id.content_frame, detail).addToBackStack("back").commit();
                 }
                });
  
  
  
              new BackGround().execute();
  
          return view;
      }
  
  
  public class BackGround extends AsyncTask&lt;Void, Void, Void&gt; {
  
          @Override
          protected Void doInBackground(Void... params) {
  
              News = JSONServices.getNewsDescription();
              return null;
          } 
  
  
  
          @Override
          /* check again */
          protected void onPostExecute(Void result) {
  
              commonVariable.setNewsDescription(News);
  
              adapter = new LazyAdapter(News, activity,Element.NEWS_LIST.getType());
  
              listView.setAdapter(adapter);
  
              super.onPostExecute(result);
          }
  
          @Override
          protected void onPreExecute() {
              // TODO Auto-generated method stub
              super.onPreExecute();
          }
  
      }
  
  
  }
  </code></pre>
  
  <p>In the code you'll notice that when a item is clicked it moves to the NewsDetailFragment. And that's the class i want to code now. </p>
  
  <p>PS: my JSON already contains all the details including title,images,description..</p>
  
  <p>UPDATE::   This is my NewsDetailFragment class.  It shows all the news at once not the one i clicked. </p>
  
  <pre><code>package com.fortuna.cinemalk;
  
  import java.util.ArrayList;
  
  import android.app.Activity;
  import android.app.FragmentManager;
  import android.os.AsyncTask;
  import android.os.Bundle;
  import android.support.v4.app.Fragment;
  import android.support.v4.app.FragmentTransaction;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.View.OnClickListener;
  import android.view.ViewGroup;
  import android.widget.AdapterView.OnItemClickListener;
  import android.widget.GridView;
  import android.widget.ListAdapter;
  import android.content.Intent;
  import android.widget.AdapterView;
  
  
  
  import com.fortuna.cinemalk.adapter.LazyAdapter;
  import com.fortuna.cinemalk.model.BaseElement;
  import com.fortuna.cinemalk.service.CommonVariable;
  import com.fortuna.cinemalk.service.JSONServices;
  import com.fortuna.cinemalk.util.Element;
  
  public class NewsDetailFragment extends Fragment {
  
      private GridView gridView;
      private View view1;
  
      private ArrayList&lt;BaseElement&gt; newsdetail;
      private LazyAdapter adapter;
      private Activity activity;
      private CommonVariable commonVariable;
  
      @Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container,
              Bundle savedInstanceState) {
  
          View view = inflater.inflate(R.layout.newsdetail_fragment, container,
                  false);
  
          activity = this.getActivity();
  
          commonVariable = (CommonVariable) activity.getApplication();
  
          view1 = (View) view.findViewById(R.id.list);
  
  
          /*gridView.setOnItemClickListener(new OnItemClickListener() {
                 public void onItemClick(AdapterView&lt;?&gt; parent, View v,
                   int position, long id) {
  
  
                android.support.v4.app.Fragment detail = new TheaterDetailFragment();
                android.support.v4.app.FragmentManager fragmentManager = getFragmentManager();
                fragmentManager.beginTransaction().add(R.id.content_frame, detail).addToBackStack("back").commit();
                 }
                }); */
  
  
  
              new BackGround().execute();
  
          return view;
      }
  
  
  public class BackGround extends AsyncTask&lt;Void, Void, Void&gt; {
  
          @Override
          protected Void doInBackground(Void... params) {
  
              newsdetail = JSONServices.getNewsDescription();
              return null;
          } 
  
  
  
          @Override
          /* check again */
          protected void onPostExecute(Void result) {
  
              commonVariable.setTheater(newsdetail);
  
              adapter = new LazyAdapter(newsdetail, activity,Element.NEWS_DETAIL.getType());
  
              ((AdapterView&lt;ListAdapter&gt;) view1).setAdapter(adapter);
  
              super.onPostExecute(result);
          }
  
          @Override
          protected void onPreExecute() {
              // TODO Auto-generated method stub
              super.onPreExecute();
          }
  
      }
  
  
  }
  </code></pre>