我有一个主活动类和一个片段类:
我想将片段类的变量访问到我的主活动类中:
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
}
}
那么,如何将片段类变量值访问到主活动中?
最佳答案
在片段中创建
(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;
}`
然后在片段中调用方法bringbackstring(string),当您希望发回字符串时。
在你的主要活动中:
(a)加上“工具”。类声明中的“侦听器”
public class MainActivity extends ActionBarActivity implements DemoFragment.listener { etc and
(b)实施接口方法:
public void bringBackString(String stringBroughtBack){
.... do something with the string
}