0

ばかげているように思えるかもしれません..しかし、今、これは私を狂気に駆り立てています。私はAutoCompleteTextView次のようなものを持っています:

     <AutoCompleteTextView
    android:id="@+id/etActionSearch"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:layout_marginLeft="5dp"
    android:layout_toLeftOf="@+id/LinearLayout2"
    android:drawableLeft="@android:drawable/ic_menu_search"
    android:drawablePadding="7dp"
    android:ems="10"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:hint="start typing a name"
    android:inputType="textFilter"
    android:visibility="gone" />

EditText少し前に使用されていましたが、 を削除して再度作成することなく、手ごとに XML を ( になるように) 変更しましAutoCompleteTextViewView。コードで参照します:

  private AutoCompleteTextView etActionSearch; //class field
  etActionSearch = (AutoCompleteTextView) actionBar.getCustomView()
            .findViewById(R.id.etActionSearch);
    etActionSearch.setThreshold(1);

そして今問題: アプリが作成されて以来、アプリをテストするために使用したデバイスでは、すべて正常に動作しています。今、私はプロジェクトを私の仲間に送ります。彼は同じ Android バージョンを実行しているデバイスでそれを実行します:

    java.lang.ClassCastException: android.widget.EditText cannot be cast to android.widget.AutoCompleteTextView

エクスポートした.apk、同じ問題、クラッシュを彼に送信します。デバイスに同じ.apkをインストールすると、すべて正常に動作します。このコードをエミュレーターで実行します (エミュレーターで初めて実行します) - 同じException、クラッシュします。R.java、genフォルダーを削除し、プロジェクトを複数回消去しましたが、問題はまだ残っています....私はただ尋ねます:一体何が起こっているのですか?

解決済みの提案: 夜にコーディングしないでください

4

1 に答える 1

1

res/layout-*レイアウト ファイル内のウィジェットへの変更は、他のフォルダーに存在する対応するファイルに反映される必要があります。または、これらの変更をコードで適切に処理する必要があります。

于 2013-08-23T03:11:00.767 に答える