ちょっと気になる問題があります。私の Android アプリケーションは、私の携帯電話 (Android バージョン 2.3.5、API 9)、一部のエミュレーター (Android バージョン >= 2.2、API >= 8、API 8、13、15 でテスト済み) で動作しますが、他のエミュレーターでは動作しません。エミュレーター (Android バージョン < 2.2、API < 8、API 4、7 でテスト済み)。API < 8 のエミュレーターではアプリがクラッシュしませんが、カスタム ImageView の一部が画面に表示されなくなります。そうでなければ、すべてが正常に機能します。
API < 8 でサポートされていないメソッドを使用しているかどうかを特定するために、ツールlintの最新バージョンを使用しましたが、特定した唯一のことは、API 4 を必要とする 1 つのメソッドを使用していることです。Android を設定するときに API に関するエラー メッセージは表示されません。 :minSdkVersion=4、android:targetSdkVersion=4、ターゲットを 4 にビルドします。
API 7 と 8 の間でどこかでエラーが発生しているように見えるので、こちらも調べましたが、何も見つかりませんでした。また、API > 7 が必要なメソッドがあるかどうかを確認するために、開発者向けドキュメントに対してカスタム ImageView のすべてのメソッドをチェックしました。
問題が何であるかについて他に何か提案はありますか?
編集:
これが私のメインのxmlファイルです:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:id="@+id/gameLayoutID"
>
<fragment
android:id="@+id/groundMenuID"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
class="com.foo.bar.someClass"/>
<fragment
android:id="@+id/topLeftMenuID"
android:layout_width="@dimen/TopLeftRightMenu_width"
android:layout_height="@dimen/TopMenu_height"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
class="com.foo.bar.someClass"/>
<fragment
android:id="@+id/topRightMenuID"
android:layout_width="@dimen/TopLeftRightMenu_width"
android:layout_height="@dimen/TopMenu_height"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
class="com.foo.bar.someClass"/>
<fragment
android:id="@+id/leftMenuID"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_above="@id/groundMenuID"
android:layout_below="@id/topLeftMenuID"
class="com.foo.bar.someClass"/>
<fragment
android:id="@+id/rightMenuID"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:layout_above="@id/groundMenuID"
android:layout_below="@id/topRightMenuID"
class="com.foo.bar.someClass"/>
<fragment
android:id="@+id/topMenuID"
android:layout_width="fill_parent"
android:layout_height="@dimen/TopMenu_height"
android:layout_alignParentTop="true"
android:layout_toRightOf="@id/topLeftMenuID"
android:layout_toLeftOf="@id/topRightMenuID"
class="com.foo.bar.someClass"/>
<com.foo.bar.CustomImageViewLayout
android:id="@+id/wheelMenuID"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_toRightOf="@id/leftMenuID"
android:layout_toLeftOf="@id/rightMenuID"
android:layout_below="@id/topMenuID"
android:layout_above="@id/groundMenuID"/>
<fragment
android:id="@+id/figurePassageID"
android:layout_width="fill_parent"
android:layout_height="@dimen/figurePassage_height"
android:layout_above="@id/groundMenuID"
class="com.foo.bar.someClass"/>
</RelativeLayout>
フラグメントは、標準 Fragment クラスの onCreateView メソッドによって拡張され、API に関係なく正常に動作します。カスタム ImageView クラスについては...コードが多く、公開して貼り付けるかどうかわかりません (これは私の主な知的財産です)。エラーはそこにないと確信していますが、もう一度確認します。そうでない場合は、いくつかのコードを貼り付けようとします。