我有1个主活动类和1个片段类:
我想访问片段类的变量到我的主活动类:
Myfragment类:
public class DemoFragment extends Fragment {
Public String mydata="hello";
.. //other code
}
Mainactivity类:
public class MainActivity extends ActionBarActivity {
..//other code
DemoFragment df;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mContext = this;
df = new DemoFragment();
String newdata = df.mydata; //access from fragment but it shows null
}
}
那么我怎么能访问片段类变量值到主活动?
在你的片段中创建
(a)两个字段:
listener mCallback;
Activity mActivity;
(b)接口:
interface mydataBack(){
public void bringBackString(String stringSentBack);
}
(c)方法@Override
public void onAttach(Activity activity) {
mActivity=activity;
super.onAttach(activity);
mCallback = (listener) mActivity;
}`
然后在Fragment中调用方法bringBackString(String)当你希望返回字符串。
在你的mainactivity中:
(a)添加"implements.. ..."
类声明public class MainActivity extends ActionBarActivity implements DemoFragment.listener { etc and
(b)实现接口方法:
public void bringBackString(String stringBroughtBack){
.... do something with the string
}
你必须使用
公共静态字符串mydata = "hello "然后在活动中使用df。mydata