GithubからCounttyPickerを実装しようとしています。コードのエラーはありません。アプリクラッシュ、多くのLogCatエラー
-
21-12-2019 - |
質問
私は過去に尋ねられた何かを求めているようですが、他に誰も答えを得ることができない、したがって指を超えています。
github からのCountryPickerを実装しようとしています。しかし、それはうまくいかないようです。私はそれを実装するために2つの可能な方法を試してみました(少なくとも私は3つのものだと思います)。
- 最初のものは私のアプリケーションの中にCountryPickerコードを追加することでした その上にサンプルフォルダコード(DIDNT作業)
- 2番目のものはどういうわけかフラグメント活動コードを変更することでした アクティビティ(まだそれを試したことはありました)
- 3番目のものは、CountryPickerコードをライブラリとしてインポートすることでした。おもう それはそれをする正しい方法でした、したがって私は私が手順を列挙しました 働くためにしました。
-
最初に私はContralPickerAppという新しいAndroidプロジェクトを作成し、そのCountryPickerリポジトリ内にあるサンプルフォルダからコードを実装しました。これがMainActivityのコードです.Class:
.package com.example.countrypickerapp; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.view.Menu; import android.view.MenuItem; import android.view.MenuItem.OnMenuItemClickListener; import android.widget.Toast; import com.countrypicker.CountryPicker; import com.countrypicker.CountryPickerListener; public class MainActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FragmentManager manager = getSupportFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); CountryPicker picker = new CountryPicker(); picker.setListener(new CountryPickerListener() { @Override public void onSelectCountry(String name, String code) { Toast.makeText( MainActivity.this, "Country Name: " + name + " - Code: " + code + " - Currency: " + CountryPicker.getCurrencyCode(code), Toast.LENGTH_SHORT).show(); } }); transaction.replace(R.id.home, picker); transaction.commit(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); MenuItem item = menu.findItem(R.id.show_dialog); item.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { CountryPicker picker = CountryPicker.newInstance("Select Country"); picker.setListener(new CountryPickerListener() { @Override public void onSelectCountry(String name, String code) { Toast.makeText( MainActivity.this, "Country Name: " + name + " - Code: " + code + " - Currency: " + CountryPicker.getCurrencyCode(code), Toast.LENGTH_SHORT).show(); } }); picker.show(getSupportFragmentManager(), "COUNTRY_PICKER"); return false; } }); return true; }
}
-
これはAndroidmanifest.xmlファイル
のコードです。<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.countrypickerapp" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.countrypickerapp.Main1Activity" android:label="@string/app_name" android:parentActivityName="@string/title_activity_main1"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.example.countrypickerapp.MainActivity" android:label="@string/title_activity_main1" > </activity> </application> </manifest>
-
メインフォルダ(CountryPicker)を理解した限り、ライブラリとしてインポートする必要があり、それらのステップに従った。
-
そしてここにLogCatログエラーのリストがあります:
11-17 02:06:37.320: I/SurfaceTextureClient(9657): [STC::queueBuffer] this:0x4fa637f8, api:1, last queue time elapsed :5603 ms 11-17 02:06:37.321: I/SurfaceTextureClient(9657): [0x4fa637f8] frames:2, duration:5.603000, fps:0.356932 11-17 02:06:37.325: W/MMUMapper(9657): fail to register MVA, unsupported format(0x5) 11-17 02:06:37.413: W/ActionMenuPresenter(9657): showOverflowMenu fail, mReserveOverflow=true, mMenu.getNonActionItems().size()=1, isOverflowMenuShowing()=false 11-17 02:06:37.476: W/MMUMapper(9657): fail to register MVA, unsupported format(0x5) 11-17 02:06:37.490: W/MMUMapper(9657): fail to register MVA, unsupported format(0x5) 11-17 02:06:37.510: W/MMUMapper(9657): fail to register MVA, unsupported format(0x5) 11-17 02:06:38.094: W/MMUMapper(9657): invalid operation for unregister MVA with VA(0x52b85000) size(57344) f(0x5) 11-17 02:06:38.094: W/MMUMapper(9657): invalid operation for unregister MVA with VA(0x52cec000) size(57344) f(0x5) 11-17 02:06:38.095: W/MMUMapper(9657): invalid operation for unregister MVA with VA(0x52cfa000) size(57344) f(0x5) 11-17 02:06:38.102: W/InputEventReceiver(9657): Attempted to finish an input event but the input event receiver has already been disposed. 11-17 02:06:40.889: W/MMUMapper(9657): invalid operation for unregister MVA with VA(0x528cf000) size(614400) f(0x5) 11-17 02:06:40.890: W/MMUMapper(9657): invalid operation for unregister MVA with VA(0x52d6d000) size(614400) f(0x5) 11-17 02:06:40.890: W/MMUMapper(9657): invalid operation for unregister MVA with VA(0x52aa9000) size(614400) f(0x5) 11-17 02:10:40.214: E/Trace(10401): error opening trace file: No such file or directory (2) 11-17 02:10:40.316: W/dalvikvm(10401): Unable to resolve superclass of Lcom/example/countrypickerapp/MainActivity; (11) 11-17 02:10:40.316: W/dalvikvm(10401): Link of class 'Lcom/example/countrypickerapp/MainActivity;' failed 11-17 02:10:40.317: E/dalvikvm(10401): Could not find class 'com.example.countrypickerapp.MainActivity', referenced from method com.example.countrypickerapp.Main1Activity$1.onClick 11-17 02:10:40.317: W/dalvikvm(10401): VFY: unable to resolve const-class 57 (Lcom/example/countrypickerapp/MainActivity;) in Lcom/example/countrypickerapp/Main1Activity$1; 11-17 02:10:40.505: W/MMUMapper(10401): fail to register MVA, unsupported format(0x5) 11-17 02:10:40.615: W/MMUMapper(10401): fail to register MVA, unsupported format(0x5) 11-17 02:10:42.480: I/SurfaceTextureClient(10401): [0x4fa637f8] frames:2, duration:1.945000, fps:1.027828 11-17 02:10:42.499: W/MMUMapper(10401): fail to register MVA, unsupported format(0x5) 11-17 02:10:42.619: W/dalvikvm(10401): threadid=1: thread exiting with uncaught exception (group=0x41269908) 11-17 02:10:42.638: E/AndroidRuntime(10401): FATAL EXCEPTION: main 11-17 02:10:42.638: E/AndroidRuntime(10401): java.lang.NoClassDefFoundError: com.example.countrypickerapp.MainActivity 11-17 02:10:42.638: E/AndroidRuntime(10401): at com.example.countrypickerapp.Main1Activity$1.onClick(Main1Activity.java:22) 11-17 02:10:42.638: E/AndroidRuntime(10401): at android.view.View.performClick(View.java:4091) 11-17 02:10:42.638: E/AndroidRuntime(10401): at android.view.View$PerformClick.run(View.java:17072) 11-17 02:10:42.638: E/AndroidRuntime(10401): at android.os.Handler.handleCallback(Handler.java:615) 11-17 02:10:42.638: E/AndroidRuntime(10401): at android.os.Handler.dispatchMessage(Handler.java:92) 11-17 02:10:42.638: E/AndroidRuntime(10401): at android.os.Looper.loop(Looper.java:153) 11-17 02:10:42.638: E/AndroidRuntime(10401): at android.app.ActivityThread.main(ActivityThread.java:5037) 11-17 02:10:42.638: E/AndroidRuntime(10401): at java.lang.reflect.Method.invokeNative(Native Method) 11-17 02:10:42.638: E/AndroidRuntime(10401): at java.lang.reflect.Method.invoke(Method.java:511) 11-17 02:10:42.638: E/AndroidRuntime(10401): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:825) 11-17 02:10:42.638: E/AndroidRuntime(10401): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:588) 11-17 02:10:42.638: E/AndroidRuntime(10401): at dalvik.system.NativeStart.main(Native Method)
.File->New->Other Select Android Project Select "Create Project from existing source" Click "Browse..." button and navigate to johannilsson-android-actionbar\actionbar Finish (Now action bar project in your workspace) Right-click on your project -> Properties In Android->Library section click Add select recently added project -> Ok
additonally私は、CountryPickerが実装されているMainActivityにリダイレクトをクリックしたときに、ボタンを持つMainActivity1と呼ばれる追加のアクティビティを追加しました。
私は私の問題をよく説明したことを願っていて、解決策、先端、ヒント、または何かを働かせることができるようなものを得ることを願っています。私はさまざまなメソッドを使用してそれをすべてのスクラッチから再実装した可能性があることを知っていますが、私はすでに実装されているものを再発明し、共有のためにアップロードされたものを見ていません。
解決
あなたのマニフェストはメイン1アクティビティ(数値を強調表示するためのスペース1)ですが、クラスファイルはmainActivity.javaです。:)