title: findViewById of a view from the framelayout enclosing a fragment fails
body: <p>I have enclosed a fragment in a framelayout...and I am getting the child views of the fragment
  using the framelayout.</p>
  
  <pre><code>    protected void onCreate(Bundle savedInstanceState)
  {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_pan);
      CardFragment fragment=new CardFragment();
      FragmentManager fm=getSupportFragmentManager();
      FragmentTransaction ft=fm.beginTransaction();
      ft.add(R.id.container, fragment);
      container=(FrameLayout)findViewById(R.id.container);
      img_pan=(ImageView)container.findViewById(R.id.img_pan);
      txt_name=(TextView)container.findViewById(R.id.txt_name);
      txt_father=(TextView)container.findViewById(R.id.txt_father);
      txt_dob=(TextView)container.findViewById(R.id.txt_dob);
      txt_type=(TextView)container.findViewById(R.id.txt_type);
      txt_panid=(TextView)container.findViewById(R.id.txt_panid);
  
  }
  
  @Override
  public void onResume()
  {
      super.onResume();
      Intent i=getIntent();
      String name=i.getStringExtra("pan_name");
      String father=i.getStringExtra("pan_father");
      String dob=i.getStringExtra("pan_dob");
      String type=i.getStringExtra("pan_type");
      String panid=i.getStringExtra("pan_id");
      filePath=i.getStringExtra("pan_filePath");
      Log.d("CardActivity", "Filepath: "+filePath);
      Bitmap bmp=BitmapFactory.decodeFile(filePath);
      if(bmp==null)
      {
          Log.d("CardActivity", "Error getting image to bitmap");
      }
      img_pan.setImageBitmap(bmp);
      txt_name.setText(name);
      txt_father.setText(father);
      txt_dob.setText(dob);
      txt_type.setText(type);
      txt_panid.setText(panid);
  }
  </code></pre>
  
  <p>When I try to add values to the view,it throws a NullPointerException</p>
  
  <p>EDIT:It was working just fine before I seperated everything into a Fragment..</p>
  
  <p><strong>EDIT2:I have changed the Activity and the Fragment as suggested,the Activity onCreate:</strong></p>
  
  <pre><code>   Bundle state=new Bundle();
      state.putString("pan_name", name);
      state.putString("pan_father", father);
      state.putString("pan_dob", dob);
      state.putString("pan_type",type);
      state.putString("pan_id", panid);
      state.putString("pan_filepath", filePath);
      CardFragment fragment=new CardFragment();
      fragment.setArguments(state);
      FragmentManager fm=getSupportFragmentManager();
      FragmentTransaction ft=fm.beginTransaction();
      ft.add(R.id.container, fragment);
      ft.commit();
      if(fm.executePendingTransactions())
      {
          Log.d("CardActivity", "Executed all pending operations");
      }
  </code></pre>
  
  <p><strong>The fragment onCreateView method:</strong></p>
  
  <pre><code>    public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState)
  {
      super.onCreateView(inflater, container, savedInstanceState);
      img_pan=(ImageView)container.findViewById(R.id.img_pan);
      txt_name=(TextView)container.findViewById(R.id.txt_name);
      txt_father=(TextView)container.findViewById(R.id.txt_father);
      txt_dob=(TextView)container.findViewById(R.id.txt_dob);
      txt_type=(TextView)container.findViewById(R.id.txt_type);
      txt_panid=(TextView)container.findViewById(R.id.txt_panid);
      Bundle bundle=getArguments();
      String name=bundle.getString("pan_name");//line 39
      String father=bundle.getString("pan_father");
      String dob=bundle.getString("pan_dob");
      String type=bundle.getString("pan_type");
      String id=bundle.getString("pan_id");
      String filePath=bundle.getString("pan_filepath");
      Bitmap bmp=BitmapFactory.decodeFile(filePath);
      img_pan.setImageBitmap(bmp);
      txt_name.setText(name);
      txt_father.setText(father);
      txt_dob.setText(dob);
      txt_type.setText(type);
      txt_panid.setText(id);
  
      return inflater.inflate(R.layout.layout_pan, container,false);
  
  }
  </code></pre>
  
  <p>Now it still returns a NullPointerException,the logcat seems to be pointed at the getArguments().I have tried using saveInstanceState without success.</p>
  
  <pre><code>     E/AndroidRuntime(13367): Caused by: java.lang.NullPointerException
       E/AndroidRuntime(13367):   at     com.example.newscancardapp.CardFragment.onCreateView(CardFragment.java:39)
       E/AndroidRuntime(13367):   at android.support.v4.app.Fragment.performCreateView(Fragment.java:1478)
       E/AndroidRuntime(13367):   at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927)
       E/AndroidRuntime(13367):   at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
       E/AndroidRuntime(13367):   at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1086)
       E/AndroidRuntime(13367):   at  android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:1877)
       E/AndroidRuntime(13367):   at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:552)
       E/AndroidRuntime(13367):   at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1133)
       E/AndroidRuntime(13367):   at android.app.Activity.performStart(Activity.java:4529)
       E/AndroidRuntime(13367):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1929)
  </code></pre>
  
  <p><strong>Edit 3 This code is working:</strong></p>
  
  <pre><code>    public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState)
  {
      super.onCreateView(inflater, container, savedInstanceState);
      View pan_layout=inflater.inflate(R.layout.layout_card, container,false);
      img_pan=(ImageView)pan_layout.findViewById(R.id.img_pan);
      txt_name=(TextView)pan_layout.findViewById(R.id.txt_name);
      txt_father=(TextView)pan_layout.findViewById(R.id.txt_father);
      txt_dob=(TextView)pan_layout.findViewById(R.id.txt_dob);
      txt_panid=(TextView)pan_layout.findViewById(R.id.txt_panid);
      Bundle bundle=getArguments();
      String name=bundle.getString("name");
      String father=bundle.getString("father");
      String dob=bundle.getString("dob");
      String id=bundle.getString("id");
      //String filePath=bundle.getString("filepath");
      //Bitmap bmp=BitmapFactory.decodeFile(filePath);
      //img_pan.setImageBitmap(bmp);
      txt_name.setText(name);
      txt_father.setText(father);
      txt_dob.setText(dob);
      txt_panid.setText(id);
      return pan_layout;
  }
  </code></pre>
  
  <p>Having refactored the code into a seperate app for testing...I have disabled the filePath.
  Thanks to Luksprog for the answer.</p>