Tôi đã tạo một tệp xml có tên editor.xml chứa một FrameLayout. Trong hoạt động chính của tôi, tôi đang cố gắng thêm phân đoạn tùy chỉnh vào FrameLayout của mình.Đang cố thêm một đoạn vào vùng chứa phân đoạn của tôi FrameLayout
Các lỗi tôi nhận được khi cố gắng để thêm đoạn của tôi là:
Các phương thức add (int, Fragment) trong các loại FragmentTransaction không áp dụng cho các đối số (int, editorFrag)
Tuy nhiên editorFrag của tôi mở rộng Fragment để tôi bối rối về lý do tại sao điều này xảy ra. Dưới đây là mã của tôi cho các tập tin tôi đã đề cập. Bất kỳ trợ giúp được đánh giá cao.
Editor.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
editorFrag.java
public class editorFrag extends Fragment
{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
// Inflate the layout for this fragment
return inflater.inflate(R.layout.newlevel, container, false);
}
}
MainActivity.java
public class editorActivity extends FragmentActivity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.editor);
// Check that the activity is using the layout version with the fragment_container FrameLayout
if(findViewById(R.id.fragment_container) != null)
{
// if we are being restored from a previous state, then we dont need to do anything and should
// return or else we could end up with overlapping fragments.
if(savedInstanceState != null)
return;
// Create an instance of editorFrag
editorFrag firstFrag = new editorFrag();
// add fragment to the fragment container layout
getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, firstFrag);
}
}
}
trả lời:
Luksprog đã trả lời vấn đề này đối với tôi dưới đây bằng cách nói với tôi đến c heck nhập khẩu của tôi. Eclipse đã chọn nhập phiên bản SDK của Fragment thay vì phiên bản hỗ trợ mà tôi cần. Cảm ơn bạn vì sự giúp đỡ.
Kiểm tra hàng nhập khẩu của bạn. Xem nếu bạn không nhập phiên bản 'SDK' của' Fragment' thay vì gói tương thích 'Fragment'. – Luksprog
Bạn chính xác, tôi cho phép nhập nhật thực cho tôi và nó thực sự đã chọn phiên bản SDK trong hoạt động của tôi, nó đã chọn phiên bản hỗ trợ. Cảm ơn bạn rất nhiều – Pedrom
@Perdom tâm chấp nhận câu trả lời cho câu hỏi này? Cảm ơn. http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –