Android 将值从ActionBarActivity发送到ListFragment
我有一个ActionBarActivity,它实现ActionBar.TabListener,如下所示Android 将值从ActionBarActivity发送到ListFragment,android,fragment,Android,Fragment,我有一个ActionBarActivity,它实现ActionBar.TabListener,如下所示 public class MainActivity extends ActionBarActivity implements ActionBar.TabListener { viewPager = (ViewPager) findViewById(R.id.pager); actionBar = getSupportActionBar(); actionBar.
public class MainActivity extends ActionBarActivity implements
ActionBar.TabListener {
viewPager = (ViewPager) findViewById(R.id.pager);
actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
mAdapter = new TabsPagerAdapter(getSupportFragmentManager());
viewPager.setAdapter(mAdapter);
Tab tab1 = actionBar.newTab();
tab1.setText("Home");
tab1.setTabListener(this);
actionBar.addTab(tab1);
//我还有其他几个标签
}
我有一些类似下面的列表片段
public class Home extends ListFragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.home, container, false);
return rootView;
}
}
我需要根据特定条件将特定键或值从MainActivity发送到ListFragment。我如何做到这一点?我如何从ListFragment接收这些值?我也在使用ViewPager。因此,我将无法传递静态片段名称。您可以这样做-
主要活动类-
主片段类-
public class Home extends ListFragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.home, container, false);
return rootView;
}
}
public class MainActivity extends ActionBarActivity implements
ActionBar.TabListener {
private String myString = "hello";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
...
}
public String getMyData() {
return myString;
}
}
public class Home extends ListFragment {
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.home, container, false);
MainActivity activity = (MainActivity) getActivity();
String myDataFromActivity = activity.getMyData();
return rootView;
}
}