package com.example.fragment;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.example.R;
import com.example.activity.SimpleActivity;
public class SimpleFragment extends Fragment
{
private static final String ARGUMENT_PRODUCT_ID = "product_id";
private View mRootView;
private int mId = -1;
public static SimpleFragment newInstance(int productId)
{
SimpleFragment fragment = new SimpleFragment();
// arguments
Bundle arguments = new Bundle();
arguments.putInt(ARGUMENT_PRODUCT_ID, productId);
fragment.setArguments(arguments);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setRetainInstance(false); // fragment in second pane shouldn't be retained
// handle fragment arguments
Bundle arguments = getArguments();
if(arguments != null)
{
handleArguments(arguments);
}
// handle intent extras
Bundle extras = getActivity().getIntent().getExtras();
if(extras != null)
{
handleExtras(extras);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
mRootView = inflater.inflate(R.layout.fragment_simple, container, false);
return mRootView;
}
@Override
public void onActivityCreated(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
bindData();
}
private void handleArguments(Bundle arguments)
{
if(arguments.containsKey(ARGUMENT_PRODUCT_ID))
{
mId = arguments.getInt(ARGUMENT_PRODUCT_ID);
}
}
private void handleExtras(Bundle extras)
{
if(extras.containsKey(SimpleActivity.EXTRA_PRODUCT_ID))
{
mId = extras.getInt(SimpleActivity.EXTRA_PRODUCT_ID);
}
}
private void bindData()
{
// reference
TextView nameTextView = (TextView) mRootView.findViewById(R.id.fragment_simple_name);
// content
nameTextView.setText(Integer.toString(mId));
}
}