将数据从片段传递到 activity(工作示例)
Passing data from fragment to activity (working example)
我想将一些数据从片段传递到 activity。
这个问题已经被问过很多次了,this answer 是我迄今为止发现的最好的问题。
我已经关注了 official documentation,但我仍然没有得到任何结果。到目前为止,我在片段中的内容是:
public class DropPackageFourthFragment1 extends Fragment {
public DropPackageFourthFragment1() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v=inflater.inflate(R.layout.fragment_drop_package_fourth_fragment1, container, false );
passData("hellooooo");
return v;
}
//Pass data to activity
OnDataPass dataPasser;
@Override
public void onAttach(Context context) {
super.onAttach(context);
Activity a;
if (context instanceof Activity){
a=(Activity) context;
dataPasser = (OnDataPass) a;
}
}
public interface OnDataPass {
public void onDataPass(String data);
}
public void passData(String data) {
dataPasser.onDataPass(data);
}
}
主要 activity 我有:
public class DropPackageFourth extends AppCompatActivity implements DropPackageFourthFragment1.OnDataPass{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_drop_package_fourth);
}
@Override
public void onDataPass(String data) {
Log.d("LOG","hello " + data);
}
}
LogCat
没有显示任何东西,我觉得我错过了什么,但我找不到它是什么!
任何帮助将不胜感激!
使用事件总线。
https://github.com/greenrobot/EventBus
或者 RxAndroid 的 PublishSubject
https://github.com/ReactiveX/RxAndroid
该代码实际上有效,我只是过滤 LogCat 但我没有看到任何东西!
我想将一些数据从片段传递到 activity。
这个问题已经被问过很多次了,this answer 是我迄今为止发现的最好的问题。
我已经关注了 official documentation,但我仍然没有得到任何结果。到目前为止,我在片段中的内容是:
public class DropPackageFourthFragment1 extends Fragment {
public DropPackageFourthFragment1() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v=inflater.inflate(R.layout.fragment_drop_package_fourth_fragment1, container, false );
passData("hellooooo");
return v;
}
//Pass data to activity
OnDataPass dataPasser;
@Override
public void onAttach(Context context) {
super.onAttach(context);
Activity a;
if (context instanceof Activity){
a=(Activity) context;
dataPasser = (OnDataPass) a;
}
}
public interface OnDataPass {
public void onDataPass(String data);
}
public void passData(String data) {
dataPasser.onDataPass(data);
}
}
主要 activity 我有:
public class DropPackageFourth extends AppCompatActivity implements DropPackageFourthFragment1.OnDataPass{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_drop_package_fourth);
}
@Override
public void onDataPass(String data) {
Log.d("LOG","hello " + data);
}
}
LogCat
没有显示任何东西,我觉得我错过了什么,但我找不到它是什么!
任何帮助将不胜感激!
使用事件总线。 https://github.com/greenrobot/EventBus 或者 RxAndroid 的 PublishSubject https://github.com/ReactiveX/RxAndroid
该代码实际上有效,我只是过滤 LogCat 但我没有看到任何东西!