所以,我有这篇文章中描述的错误:
我搜索了 SO 并找到了一些关于为什么会出现此错误的解释:
等等。
我的问题是我认为我不完全了解如何使用 Fragments(是的,我已经阅读了 Android 开发网站上的 Fragments 部分),更具体地说,是如何解决我的具体问题。
我有一个名为“BookingList”的片段。该 BookingList 具有带有预订的行,并且可以单击每一行。当我点击时,我会显示一个对话框,其中包含有关该预订的一些信息和一张地图。该列表是一个 ListView 和 onClickListener 是这样的:
public class BookingList extends Fragment {
// ... code code code
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
// ... code
// ... code
list.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
BookingLight bl = (BookingLight)bookingRowAdapter.getRow(position);
String name = bl.Customer.Firstname + " " + bl.Customer.Lastname;
Toast.makeText(getActivity(), "Öppnar " + name, Toast.LENGTH_SHORT).show();
Handler myHandler = new Handler();
myHandler.postDelayed(new Runnable()
{
@Override
public void run()
{
View detailsView = infl.inflate(R.layout.booking_details, null);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setView(detailsView);
builder.create().show();
}
}, 500);
}
});
如您所见,我只是将booking_details膨胀,这是一个简单的 View,包含一个 MapFragment。
第二次单击这些行之一时,我得到了上面提到的异常。由于视图本身不是一个片段(到目前为止它只是一个视图),我不知道如何避免这个异常。
我对使用 FragmentManager 有一个模糊的想法,但我不确定如何使用。
有人可以向我解释一下吗?