title: Simple Listview in fragment using SimpleAdapter
body: <p>Here is my code for fragment extending ListFragment and below are the errors it is showing.Almost Same code is working fine for activity except that in activity i am getting listview through  </p>
  
  <pre><code>ListView lv = getListView();
  </code></pre>
  
  <p>and in fragment through</p>
  
  <pre><code>lv= (ListView)rootView.findViewById(R.id.list);
  </code></pre>
  
  <p>It shows nullpointer exception on line java:109 <code>lv.setOnItemClickListener(new AdapterView.OnItemClickListener()</code>
  If i remove setOnItemClickListener it shows null pointer exception on    <code>lv.setAdapter(adapter);</code>
  SoundCloudFragment.java</p>
  
  <pre><code> public class SoundCloudFragment extends ListFragment {
          private ProgressDialog pDialog;
          private FragmentActivity myContext;
          ListView lv;
          @Override
          public void onAttach(Activity activity) {
  
              if (activity instanceof FragmentActivity) {
                  myContext = (FragmentActivity) activity;
  
  
              }
  
              super.onAttach(activity);
          }
  
  
  
  
  
          // contacts JSONArray
          JSONArray contacts = null;
  
          // Hashmap for ListView
          ArrayList&lt;HashMap&lt;String, String&gt;&gt; contactList;
  
  
          @Override
          public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                   Bundle savedInstanceState) {
              // mVisulizerView = (VisualizerView)findViewById(R.id.visualizerView);
  
              View rootView = inflater.inflate(R.layout.soundcloud, container, false);
              lv= (ListView)rootView.findViewById(R.id.list);
              // Get ListView object from xml
  
  
       //   lv = getListView();
  
            lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  
                  @Override
                  public void onItemClick(AdapterView&lt;?&gt; parent, View view,
                                          int position, long id)
                  {
                      // getting values from selected ListItem
                      String name = ((TextView) view.findViewById(R.id.name)).getText().toString();
                      String cost = ((TextView) view.findViewById(R.id.email)).getText().toString();
                      String description = ((TextView) view.findViewById(R.id.mobile)).getText().toString();
  
                      // Starting single contact activity
                      Intent in = new Intent(myContext,
                              SingleContactActivity.class);
                      in.putExtra("name", TAG_TITLE);
                      in.putExtra("id", cost);
  
                      startActivity(in);
  
                  }
              });
  
              // Calling async task to get json
              new GetContacts().execute();
              return rootView;
          }
          private class GetContacts extends AsyncTask&lt;Void, Void, Void&gt;  {
  
              @Override
              protected void onPreExecute() {
                  super.onPreExecute();
                  // Showing progress dialog
                  pDialog = new ProgressDialog(myContext);
                  pDialog.setMessage("Please wait...");
                  pDialog.setCancelable(false);
                  pDialog.show();
  
              }
  
              @Override
              protected Void doInBackground(Void... arg0) {
                  // Creating service handler class instance
                  ServiceHandler sh = new ServiceHandler();
  
                  // Making a request to url and getting response
                  String jsonStr = sh.makeServiceCall(url, ServiceHandler.GET);
  
                  Log.d("Response: ", "&gt; " + jsonStr);
  
                  if (jsonStr != null) {
                      try {
                          JSONArray json = new JSONArray(jsonStr);
  
                          // looping through All Contacts
                          for (int i = 0; i &lt; json.length(); i++) {
                              JSONObject jsonObj = json.getJSONObject(i);
                              //JSONObject c = contacts.getJSONObject(i);
  
                              String title = jsonObj.getString(TAG_TITLE);
                              String id = jsonObj.getString(TAG_ID);
                              String kind = jsonObj.getString(TAG_KIND);
                              String duration =jsonObj.getString(TAG_DURATION);
                          /*  String gender = c.getString(TAG_GENDER);
  
                              // Phone node is JSON Object
                              JSONObject phone = c.getJSONObject(TAG_PHONE);
                              String mobile = phone.getString(TAG_PHONE_MOBILE);
                              String home = phone.getString(TAG_PHONE_HOME);
                              String office = phone.getString(TAG_PHONE_OFFICE);*/
  
                              // tmp hashmap for single contact
                              HashMap&lt;String, String&gt; contact = new HashMap&lt;String, String&gt;();
  
                              // adding each child node to HashMap key =&gt; value
                              contact.put(TAG_TITLE, title);
                              contact.put(TAG_ID, id);
                              contact.put(TAG_KIND, kind);
                              contact.put(TAG_DURATION, duration);
  
  
                              // adding contact to contact list
                              contactList.add(contact);
                          }
                      } catch (JSONException e)
                      {
                          e.printStackTrace();
                      }
                  } else {
                      Log.e("ServiceHandler", "Couldn't get any data from the url");
                  }
  
                  return null;
              }
  
              @Override
              protected void onPostExecute(Void result) {
                  super.onPostExecute(result);
                  // Dismiss the progress dialog
                  if (pDialog.isShowing())
                      pDialog.dismiss();
                  /**
                   * Updating parsed JSON data into ListView
                   * */
                  ListAdapter adapter = new SimpleAdapter(
                          myContext, contactList,
                          R.layout.soundcloud_item, new String[] { TAG_TITLE, TAG_ID,
                          TAG_KIND }, new int[] { R.id.name,
                          R.id.email, R.id.mobile });
  
                lv.setAdapter(adapter);
  
              }
  
          }
  
  
      }
  </code></pre>
  
  <p>Errors-</p>
  
  <pre><code> FATAL EXCEPTION: main
          java.lang.NullPointerException
                  at com.peoplecloud.guggu.ui.fragment.SoundCloudFragment.onCreateView(SoundCloudFragment.java:109)
                  at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:829)
                  at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1035)
                  at android.app.BackStackRecord.run(BackStackRecord.java:635)
                  at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1397)
                  at android.app.FragmentManagerImpl$1.run(FragmentManager.java:426)
                  at android.os.Handler.handleCallback(Handler.java:615)
                  at android.os.Handler.dispatchMessage(Handler.java:92)
                  at android.os.Looper.loop(Looper.java:153)
                  at android.app.ActivityThread.main(ActivityThread.java:5086)
                  at java.lang.reflect.Method.invokeNative(Native Method)
                  at java.lang.reflect.Method.invoke(Method.java:511)
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
                  at dalvik.system.NativeStart.main(Native Method)
  </code></pre>