问题描述
我有1个主要活动类和1个片段类:
我想访问片段类的变量到我的主要活动类:
Myfragment类:
public class DemoFragment extends Fragment {
Public String mydata="hello";
.. //other code
}
主动性等级:
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
}
}
那么如何才能将片段类变量值访问到主要活动中?
1楼
在你的片段创建中
(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),当你希望发回字符串时。
在你的主要活动:
(a)在类声明中加入“implements ... ... listener”
public class MainActivity extends ActionBarActivity implements DemoFragment.listener { etc and
(b)实现接口方法:
public void bringBackString(String stringBroughtBack){
.... do something with the string
}
2楼
你有用吗
public static String mydata =“hello”然后使用df.mydata将其置于活动中