0

私のプロジェクトでは、すべての Java クラスが 1 つのパッケージに含まれてcom.example.android.bitmapfunおり、マニフェストは次のとおりです。

  <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.example.android.bitmapfun"
  android:versionCode="1"
  android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="15"
    android:targetSdkVersion="15" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<application
    android:description="@string/app_description"
    android:hardwareAccelerated="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >

    <activity
        android:name="com.example.android.bitmapfun.ImageGridActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.example.android.bitmapfun.ImageDetailActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.FullScreen" >
    </activity>
</application>
</manifest>

アクティビティは次のとおりです。

   package com.example.android.bitmapfun;

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


  public class ImageGridActivity extends FragmentActivity {
  private static final String TAG = "ImageGridFragment";

 @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (getSupportFragmentManager().findFragmentByTag(TAG) == null) {
        final FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
        ft.add(android.R.id.content, new ImageGridFragment(), TAG);
        ft.commit();
    }
  }
  }

ImageDetailActivity.java:

  package com.example.android.bitmapfun;

 import android.annotation.SuppressLint;
 import android.app.ActionBar;
 import android.content.Intent;
 import android.os.Bundle;
 import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentActivity;
 import android.support.v4.app.FragmentManager;
 import android.support.v4.app.FragmentStatePagerAdapter;
 import android.support.v4.view.ViewPager;
 import android.util.DisplayMetrics;
 import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.view.ViewGroup;
 import android.view.WindowManager.LayoutParams;
 import android.widget.Toast;

 import com.example.android.bitmapfun.R;
 import com.example.android.bitmapfun.Images;
 import com.example.android.bitmapfun.DiskLruCache;
 import com.example.android.bitmapfun.ImageCache;
 import com.example.android.bitmapfun.ImageFetcher;
 import com.example.android.bitmapfun.ImageResizer;
 import com.example.android.bitmapfun.ImageWorker;
 import com.example.android.bitmapfun.Utils;

 public class ImageDetailActivity extends FragmentActivity implements OnClickListener {
private static final String IMAGE_CACHE_DIR = "images";
public static final String EXTRA_IMAGE = "extra_image";

private ImagePagerAdapter mAdapter;
private ImageResizer mImageWorker;
private ViewPager mPager;

@SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.image_detail_pager);
 .....
}

LogCat:こちら

ここで LogCat に ClassNotFoundException が表示されるのはなぜですか? 試しましたが、エラーをクリアできません。この問題を克服するためのアイデアをお願いします。

4

2 に答える 2

1

このFragMentActivityクラスを使用するには、アプリのマニフェストで API レベル「11」以上を指定し、同等以上の API レベルをサポートする Android ライブラリのバージョンに対してコンパイルする必要があります。

于 2012-06-05T06:51:17.080 に答える
0

BitmapFun プロジェクトを Eclipse にインポートしたときに、どのソリューションも機能しませんでした。ClassNotFoundException が原因でした。プロジェクトに libs フォルダーとサポート ライブラリがないことに気付きましたが、libs フォルダーを作成してサポート ライブラリをそこにドロップしても問題は解決しませんでした。そこで、Eclipse で新しいプロジェクトを作成し、元のインポートされたプロジェクトからファイルを転送したところ、最初の試行で機能しました。勝利。

于 2013-12-19T16:54:15.360 に答える