0

所以,我有这篇文章中描述的错误:

我搜索了 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 有一个模糊的想法,但我不确定如何使用。

有人可以向我解释一下吗?

4

0 回答 0