Tôi đang sử dụng Gói tương thích, bản sửa đổi 4 để thêm Phân đoạn vào ứng dụng Gingerbread của tôi. Không có lỗi nào được ghi lại tuy nhiên Fragment không hiển thị trên màn hình nữa (nó đã làm cùng một lúc trước khi tôi bắt đầu dọn dẹp nó và thêm các phương thức!). Phần dưới cùng mong muốn đóng gói các phương thức điều hướng của tôi như "goHome" và "goCart" và được đặt trên tất cả các màn hình.
Tôi đã thử thêm phần tử vào bố cục của mình và nhận được lỗi Classnotfound đáng sợ cho android.view. Tôi đã nhận được nhiều hơn nữa bằng cách sử dụng phương pháp này.Làm cách nào để thêm Phân đoạn Android vào FragmentActivity của tôi?
Nhật ký của tôi hiển thị Phân đoạn được thêm vào. Đây là Fragment:
public class BottomFragment extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View v = inflater.inflate(R.layout.bottom_nav, container, false);
Log.v("BottomFragment","onCreate after inflate");
/*
ImageView find_img = (ImageView)v.findViewById(R.id.bottom_find_image);
find_img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.v("BottomFragment.OnClickListener"," with Find clicked");
findRegistry();
}
});
*/
// Inflate the layout for this fragment
return v;
Thông báo tường trình hiển thị ở trên. Đây là Hoạt động thêm Phân đoạn:
public class StartActivity extends FragmentActivity {
public static Context appContext;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.find_main);
appContext = getApplicationContext();
// Create new fragment and transaction
BottomFragment newFragment = new BottomFragment();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.add(R.id.frame_bottom_frag, newFragment);
// Commit the transaction
transaction.commit();
}
Đây là tệp bottom_nav.xml được Phân đoạn sử dụng.
<RelativeLayout
android:id="@+id/bottom_nav"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:layout_height="wrap_content"
android:layout_width="60dp"
android:id="@+id/bottom_home_image"
android:src="@drawable/home"
android:clickable="true"
android:onClick="goHome"
/>
<ImageView
android:layout_height="wrap_content"
android:layout_width="60dp"
android:id="@+id/bottom_shopping_cart_image"
android:src="@drawable/shopping_cart"
android:clickable="true"
android:onClick="goCart"
/>
</LinearLayout>
</RelativeLayout>
đây là find_main bố trí Hoạt động:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_gravity="center">
<TableLayout
android:id="@+id/main_screen"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TableRow android:padding="20dip">
<ImageView
android:layout_height="60dip"
android:layout_width="60dip"
android:id="@+id/home_image"
android:src="@drawable/create"
android:clickable="true"
android:onClick="goHome"
/>
<TextView
android:id="@+id/home_text"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/home" android:textAppearance="?android:attr/textAppearanceLarge"
android:textStyle="bold"
android:layout_toRightOf="@id/home_image"
android:clickable="true"
android:onClick="goCart"/>
</TableRow>
</TableLayout>
<FrameLayout android:name="com.marcole.gingerbread.grw.BottomFragment"
android:id="@+id/frame_bottom_frag"
android:layout_weight="2"
android:layout_width="0dp"
android:layout_height="match_parent">
</FrameLayout>
</LinearLayout>
Heres một số bản ghi:
11-02 16:20:57.650: INFO/ActivityManager(61): Start proc com.marcole.gingerbread.grw for activity com.marcole.gingerbread.grw/.StartActivity: pid=522 uid=10041 gids={3003}
11-02 16:20:57.690: INFO/dalvikvm(513): JNI: AttachCurrentThread (from ???.???)
11-02 16:20:57.690: INFO/AndroidRuntime(513): NOTE: attach of thread 'Binder Thread #3' failed
11-02 16:20:58.090: WARN/ActivityThread(522): Application com.marcole.gingerbread.grw is waiting for the debugger on port 8100...
11-02 16:20:58.100: INFO/System.out(522): Sending WAIT chunk
11-02 16:20:58.110: INFO/dalvikvm(522): Debugger is active
11-02 16:20:58.310: INFO/System.out(522): Debugger has connected
11-02 16:20:58.310: INFO/System.out(522): waiting for debugger to settle...
11-02 16:20:58.510: INFO/System.out(522): waiting for debugger to settle...
11-02 16:20:58.721: INFO/System.out(522): waiting for debugger to settle...
11-02 16:20:58.920: INFO/System.out(522): waiting for debugger to settle...
11-02 16:20:59.121: INFO/System.out(522): waiting for debugger to settle...
11-02 16:20:59.322: INFO/System.out(522): waiting for debugger to settle...
11-02 16:20:59.522: INFO/System.out(522): waiting for debugger to settle...
11-02 16:20:59.721: INFO/System.out(522): debugger has settled (1408)
11-02 16:21:00.771: DEBUG/dalvikvm(522): GC_EXTERNAL_ALLOC freed 59K, 49% free 2757K/5379K, external 2121K/2137K, paused 62ms
11-02 16:21:00.851: VERBOSE/BottomFragment(522): onCreate after inflate
11-02 16:21:01.521: INFO/ActivityManager(61): Displayed com.marcole.gingerbread.grw/.StartActivity: +3s935ms
Bất kỳ trợ giúp sẽ được đánh giá cao nhờ!