我想知道,如何在android中调用对话框点击操作中的片段。该对话框在另一个活动中。
下面是对话框节代码
public static void Bookingconfirm(final Context _context, String title,String strMessage)
{
final Dialog dialog1 = new Dialog(_context);
Log.e("Point","1");
dialog1.setContentView(R.layout.booking_success);
dialog1.setCanceledOnTouchOutside(true);
dialog1.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
dialog1.findViewById(R.id.d_location);
LinearLayout btnok = (LinearLayout) dialog1.findViewById(R.id.booking_ok);
btnok.setOnClickListener(new OnClickListener()
{
@SuppressLint("NewApi") @Override
public void onClick(View arg0)
{
Log.e("Point","2");
//i wanted the click to fragment here
// parent class of fragment Home.java and fragment is booking.java
}
});
dialog1.show();
}
发布于 2016-04-20 20:11:22
Fragment fragment= booking.newInstance();
Home mainActivity = (Home) context;
FragmentManager manager = mainActivity.getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.replace(R.id.container, fragment, "Frag");
transaction.commit();
从对话框中尝试上面的代码,单击Listener ...Hope这会有所帮助
发布于 2016-04-20 20:43:25
试试下面的代码:
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.content_frame, new booking());
fragmentTransaction.commit();
发布于 2018-07-24 06:29:37
哈龙和普拉迪普回答不起作用。您可以将FragmentManager传递给对话框类,如下所示:
import android.support.v4.app.FragmentManager
class TestDialog(val fragmentManager:FragmentManager) {
fun show()
{
showFragmentButton.setOnClickListener{
val fragmentTransaction = fragmentManager.beginTransaction()
val fragment = PurchaseDetail()
fragmentTransaction.replace(R.id.container, fragment, "cashier_fragment")
fragmentTransaction.addToBackStack(null)
fragmentTransaction.commit()
}
}
}
在你的片段中:
TestDialog(getFragmentManager()).show()
https://stackoverflow.com/questions/36743215
复制相似问题