所以,我有这篇文章中描述的错误:
我搜索了SO并找到了几个解释我为什么会收到此错误的解释:
等等。
我的问题是,我认为我不完全理解片段的使用方式(是的,我已经阅读了Android开发网站上片段的部分),更具体地说,是如何解决我的具体问题。
我有一个名为“BookingList”的片段。该BookingList包含预订行,每行都可以单击。当我点击时,我会显示一个Dialog,其中包含有关该预订的一些信息以及地图。列表是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 这是一个包含MapFragment的简单视图。
第二次单击其中一行时,我得到上面提到的异常。由于视图本身不是片段(它到目前为止只是一个视图),我不确定如何避免这种异常。
我有一个模糊的想法,使用FragmentManager,但我不确定如何。
有人可以向我解释这个吗?