I want to create a common search for different websites at same time.So I imported text of an EditText from an activity to Fragment activity.Now how to import that text to a fragment?
FragmentActivity:
public class MyActivity6 extends FragmentActivity {
TextView mTextview;
ViewPager viewPager = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_activity6);
viewPager = (ViewPager) findViewById(R.id.pager);
FragmentManager fragmentManager = getSupportFragmentManager();
viewPager.setAdapter(new MyAdapter(fragmentManager));
mTextview = (TextView)findViewById(R.id.textView8);
mTextview.setText(getIntent().getStringExtra("mytext"));
}
class MyAdapter extends FragmentStatePagerAdapter {
public MyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
Fragment fragment = null;
if (i == 0) {
fragment = new FragmentA();
}
if (i == 1) {
fragment = new FragmentB();
}
if (i == 2) {
fragment = new FragmentC();
}
if (i == 3) {
fragment = new FragmentD();
}
return fragment;
}
@Override
public int getCount() {
return 4;
}
public CharSequence getPageTitle(int position) {
String title = new String();
if (position == 0) {
return "Flipkart";
}
if (position == 1) {
return "Amazon";
}
if (position == 2) {
return "Snapdeal";
}
if (position == 3) {
return "Ebay";
}
return null;
}
}
Fragment :
`
public class FragmentA extends Fragment {
TextView mText;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View mainView = (View)
inflater.inflate(R.layout.fragment1, container, false);
WebView webView = (WebView)
mainView.findViewById(R.id.webView12);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.getAllowContentAccess();
webSettings.getDatabaseEnabled();
webSettings.getAllowFileAccess();
webSettings.getCacheMode();
webView.loadUrl("http://m.flipkart.com/search?q=");
webView.setWebViewClient(new WebViewClient());
// Set up the ViewPager with the sections adapter.
webView.setWebViewClient(new MyWebViewClient());
return mainView;}
}
Rather than use the default constructor for your Fragment
, follow this common pattern of using a static newInstance()
method to pass arguments. Stash these into the arguments bundle then pull them out in the Fragment
during its onCreateView()
(or wherever you actually need it.)
public class MyFragment extends Fragment {
...
private static final String ARG_TEXT = "_arg_text";
...
public static MyFragment newInstance(String myText) {
Bundle args = new Bundle();
args.putString(ARG_TEXT, myText);
MyFragment ret = new MyFragment();
ret.setArguments(args);
return;
}
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View mainView = (View)
inflater.inflate(R.layout.fragment1, container, false);
Bundle args = getArguments();
String text = args.getString(ARG_TEXT);
// Now use the text however you'd lik
...
}
}
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments