質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

解決済

1回答

415閲覧

kotlinを使ったandroidの画面遷移に失敗する

yaira

総合スコア8

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2018/07/21 21:41

編集2018/07/21 21:43

前提・実現したいこと

kotlinを使用してandroidアプリケーションの開発を行っていたところ画面遷移のところで落ちてしまいます。

発生している問題・エラーメッセージ

以下エラーメッセージをコピーペーストしたものですがファイル名のみ隠させていただきます。

E/AndroidRuntime: FATAL EXCEPTION: main Process: {ファイル名}, PID: 16725 java.lang.NoClassDefFoundError: Failed resolution of: {ファイル名}/Login; at {ファイル名}.MainActivity$onCreate$1.onClick(MainActivity.kt:68) at android.view.View.performClick(View.java:5646) at android.view.View$PerformClick.run(View.java:22473) at android.os.Handler.handleCallback(Handler.java:761) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:156) at android.app.ActivityThread.main(ActivityThread.java:6523) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832) Caused by: java.lang.ClassNotFoundException: Didn't find class "{ファイル名}" on path: DexPathList[[zip file "/data/app/{ファイル名}-1/base.apk"],nativeLibraryDirectories=[/data/app/{ファイル名}-1/lib/arm64, /system/lib64, /vendor/lib64, /system/vendor/lib64, /product/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:380) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at {ファイル名}.MainActivity$onCreate$1.onClick(MainActivity.kt:68)  at android.view.View.performClick(View.java:5646)  at android.view.View$PerformClick.run(View.java:22473)  at android.os.Handler.handleCallback(Handler.java:761)  at android.os.Handler.dispatchMessage(Handler.java:98)  at android.os.Looper.loop(Looper.java:156)  at android.app.ActivityThread.main(ActivityThread.java:6523)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832) 

該当のソースコード

以下コードを最低限まで削り画面遷移のみにしたものです
上が遷移元、下が遷移先です

MainActivity.kt

1import android.support.v7.app.AppCompatActivity 2import android.os.Bundle 3import java.io.InputStream 4import java.net.HttpURLConnection 5import java.net.URL 6 7import android.app.Activity 8import android.content.Intent 9import android.os.StrictMode 10import android.view.View 11import android.widget.Button 12import android.widget.TextView 13import android.widget.EditText 14 15class MainActivity : AppCompatActivity() { 16 17 override fun onCreate(savedInstanceState: Bundle?) { 18 super.onCreate(savedInstanceState) 19 setContentView(R.layout.activity_main) 20 21 val button = findViewById(R.id.btn) as Button 22 button.setOnClickListener { 23 StrictMode.setThreadPolicy(StrictMode.ThreadPolicy.Builder().permitAll().build()) 24  startActivity(Intent(this, Login::class.java)) 25 } 26 } 27 28}

Login.kt

また以下がmanifestの一部です

<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".Login" android:label="@string/app_name"></activity> </application>

###試したこと
ステップイン実行を行った結果画面遷移の場所でエラーが起きており、またエラーメッセージで指定された行数も(ここに載せたものはコメントアウトを削除したため違いますが)画面遷移の箇所でした

以上です、ぜひご教授いただけますと幸いです

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

keicha_hrs

2018/07/22 09:13

ご提示いただいたコードは投稿用に削ったものだと思いますが、実際に削って動作させてもやはり遷移できないのでしょうか?この通りの内容でもなお遷移できないとしたら、ちょっと原因が見当たらず回答が難しそうです。
yaira

2018/07/22 11:26

さきほど、投稿したつもりが投稿できていなさそうなので再度投稿させていただきます。このコードは元のコードからコメントのみを削除したコードとなっているためこのまま動作させても遷移できません。
kakajika

2018/07/24 10:18

コード上にはエラーの原因となる箇所はなさそうですね。アプリのbuild.gradleの内容を載せていただくことはできますか?
yaira

2018/09/13 10:39

すみません、気づくことができませんでした。その後、全く同じ内容で作り直したら動きました。そのため原因不明のままですが自己解決とさせていただきます。返信が遅くなってしまい申し訳ないです。
guest

回答1

0

自己解決

全く同じ内容で作り直してみたところ、画面遷移に成功しました。そのため原因不明のままですが自己解決とさせていただきたいと思います。ありがとうございました。

投稿2018/09/13 10:42

yaira

総合スコア8

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問