Java 如何从底部片段到主活动获取数据?
我已经创建了一个底部片段,现在当在底部片段中单击按钮时,我需要一些来自主活动中底部片段的数据。通过创建界面,我几乎看不到答案,但概念不太清楚 代码: 使用此函数调用片段的主要活动: 片段:Java 如何从底部片段到主活动获取数据?,java,android,android-fragments,Java,Android,Android Fragments,我已经创建了一个底部片段,现在当在底部片段中单击按钮时,我需要一些来自主活动中底部片段的数据。通过创建界面,我几乎看不到答案,但概念不太清楚 代码: 使用此函数调用片段的主要活动: 片段: public class BottomSheetFrag extends BottomSheetDialogFragment { public static BottomSheetFrag newInstance() { return new BottomSheetFrag(); } public
public class BottomSheetFrag extends BottomSheetDialogFragment {
public static BottomSheetFrag newInstance() {
return new BottomSheetFrag();
}
public View onCreateView(LayoutInflater inflater,
@Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.activity_appointment, container, false);
Bundle bundle = getArguments();
userID = bundle.getString("UserId");
ImageView imageViewClose = (ImageView) view.findViewById(R.id.imageClose);
final Fragment f = getActivity().getFragmentManager().findFragmentById(R.id.Linear_layout);
imageViewClose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
}
});
button9AM1 = (Button) view.findViewById(R.id.button9AM1);
/* when i click the button9AM1 i want to send the data as as 9AM to main activity */
}}
及
}
及
我不确定,但看看这篇文章,看看这是否是你需要的。非常感谢。我看到了很多关于接口逻辑的帖子,但当我点击一个按钮时,我就不知道如何实现它了。这很干净,解决了我的问题。
public class BottomSheetFrag extends BottomSheetDialogFragment {
public static BottomSheetFrag newInstance() {
return new BottomSheetFrag();
}
public View onCreateView(LayoutInflater inflater,
@Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.activity_appointment, container, false);
Bundle bundle = getArguments();
userID = bundle.getString("UserId");
ImageView imageViewClose = (ImageView) view.findViewById(R.id.imageClose);
final Fragment f = getActivity().getFragmentManager().findFragmentById(R.id.Linear_layout);
imageViewClose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
}
});
button9AM1 = (Button) view.findViewById(R.id.button9AM1);
/* when i click the button9AM1 i want to send the data as as 9AM to main activity */
}}
interface OnclickDataLisnter{
void onClick(String data);
}
public void showSchedule() {
BottomSheetFrag bottomSheetFragment = new BottomSheetFrag();
bottomSheetFragment.setClickListner(new OnclickDataLisnter(){
@Overrid
public void onClick(String data){
//You listner here your data
}
}
Bundle bundle = new Bundle();
bundle.putString("UserId", Parlour_BeauticianID);
bottomSheetFragment.setArguments(bundle);
bottomSheetFragment.show(getSupportFragmentManager(),
bottomSheetFragment.getTag());
public class BottomSheetFrag extends
BottomSheetDialogFragment {
public OnclickDataLisnter clickListner;
public static BottomSheetFrag newInstance() {
return new BottomSheetFrag();
}
public void setClickListner(OnclickDataLisnter clickListner){//add this
this.clickListner = clickListner; // add this
}
public View onCreateView(LayoutInflater inflater,
@Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.activity_appointment, container, false);
Bundle bundle = getArguments();
userID = bundle.getString("UserId");
ImageView imageViewClose = (ImageView) view.findViewById(R.id.imageClose);
final Fragment f = getActivity().getFragmentManager().findFragmentById(R.id.Linear_layout);
imageViewClose.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
dismiss();
}
});
button9AM1 = (Button) view.findViewById(R.id.button9AM1);
/* when i click the button9AM1 i want to send the data as as 9AM to main activity */
clickListner.onClick(data); //add this
}}