4

私は Android Fragments を理解し始めていますが、これはまだ混乱しています。少し助けが必要です。AndroidフラグメントはAPIレベル11からサポートされていると言われていますが、下位レベルのAPI用の「support.v4」ライブラリパックをダウンロードできます。まず、APIレベル15でフラグメントを試すために新しいプロジェクトを作成します。次に、APIレベル8で同じことをしましたが、機能しません...外部jarをインポートしましたが、必要なインポートがすべて表示されます...ここで問題になりますか?

これが私のメインクラスです:

import android.support.v4.app.FragmentActivity;
import android.os.Bundle;

public class Fragment2Activity extends FragmentActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

私のメインレイアウトXML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />

        <fragment 
   android:name="com.frag.Fragment2.frag"
   android:id="@+id/frag"
   android:layout_width="match_parent"
   android:layout_height="match_parent" />

</LinearLayout>

私のフラグメントクラス:

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class frag extends Fragment {
       @Override
       public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
          // Inflate the layout for this fragment
          View v = inflater.inflate(R.layout.hello_fragment, container, false);
          return v;
       }
    }

そして、私のフラグメント レイアウト XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <TextView
   android:layout_width="fill_parent"
   android:layout_height="match_parent"
   android:text="THIS IS FRAGMENT"
   android:background="@drawable/ic_launcher"
/>

</LinearLayout>

修繕

4

4 に答える 4

6

android.view.fragment存在しないクラスをまだ使用しています。android.support.v4.app.fragment古いデバイスでは切り替える必要があります。

于 2012-05-07T08:21:18.273 に答える
0

minSdkVersion のために低い API を使用している場合は、最新の SDK を使用して minSdkVersion を低い値に設定できることを知っておく必要があります。それらは同じである必要はありません。

于 2012-05-07T08:29:18.510 に答える
0

実際、この問題は ADT ツールからのものです。

  1. src > gen > Private > other... で Java Build Path の「Order and Export」を並べ替えます。

  2. サポート ライブラリを追加 >> android-support-v4.jar

于 2013-09-04T03:19:49.840 に答える
0

わかりましたので、同じ問題が発生し、最終的に機能しました。まず、最新の ADT ツールを使用していることを確認してください。

1)フラグメントを使用するすべてのアクティビティに移動し、フラグメントFragmentActivityの代わりにフラグメントを拡張しますActivity

2) サポート ライブラリをビルドにインポートしていない場合は、プロジェクトを右クリック -> Android ツール -> サポート ライブラリの追加

3)あなたのxmlでタグが<fragment />そうであり、そうでないことを確認してください<android.support.v4.app.fragment />

それがあなたを助けることを願っています、それを機能させるのにしばらく時間がかかりました.

于 2012-05-08T12:41:23.640 に答える