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

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

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

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

Android Studio

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

Kotlin

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

Q&A

解決済

2回答

3157閲覧

Android Studio 画面遷移時にクラッシュする

cshintaku

総合スコア34

Android

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

Android Studio

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

Kotlin

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

1グッド

0クリップ

投稿2019/02/28 06:30

編集2019/02/28 06:32

画面遷移時にアプリがクラッシュしてしまいます。
ランチャービューを最初に表示し、次にトップビューに遷移しようとするとアプリ側で

アプリが停止しました

と表示されます。
ログなどは無しです。
ランチャービューから他のビューへの遷移は問題なくできます。
以下、コードです。

ランチャービュー

Kotlin

1package 弊社.android 2 3import android.content.Intent 4import android.support.v7.app.AppCompatActivity 5import android.os.Bundle 6import android.util.Log 7import java.util.* 8import kotlin.concurrent.schedule 9 10class COLauncherActivity : AppCompatActivity() { 11 12 override fun onCreate(savedInstanceState: Bundle?) { 13 super.onCreate(savedInstanceState) 14 setContentView(R.layout.activity_launcher) 15 } 16 17 override fun onStart() { 18 super.onStart() 19 20 Timer().schedule(0, 2000, { 21 goToTop() 22 this.cancel() 23 }) 24 } 25 26 fun goToTop() { 27 val intent: Intent = Intent(this, COTopActivity::class.java) 28 startActivity(intent) 29 } 30} 31

トップビュー

Kotlin

1package 弊社.android 2 3import android.content.Intent 4import android.os.Bundle 5import android.support.design.widget.Snackbar 6import android.support.design.widget.NavigationView 7import android.support.v4.view.GravityCompat 8import android.support.v7.app.ActionBarDrawerToggle 9import android.support.v7.app.AppCompatActivity 10import android.view.Menu 11import android.view.MenuItem 12import kotlinx.android.synthetic.main.activity_top.* 13import kotlinx.android.synthetic.main.app_bar_cotop.* 14 15class COTopActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelectedListener { 16 17 override fun onCreate(savedInstanceState: Bundle?) { 18 super.onCreate(savedInstanceState) 19 setContentView(R.layout.activity_top) 20 setSupportActionBar(toolbar) 21 22 fab.setOnClickListener { view -> 23 Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) 24 .setAction("Action", null).show() 25 } 26 27 val toggle = ActionBarDrawerToggle( 28 this, drawer_layout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close 29 ) 30 drawer_layout.addDrawerListener(toggle) 31 toggle.syncState() 32 33 nav_view.setNavigationItemSelectedListener(this) 34 } 35 36 override fun onBackPressed() { 37 if (drawer_layout.isDrawerOpen(GravityCompat.START)) { 38 drawer_layout.closeDrawer(GravityCompat.START) 39 } else { 40 super.onBackPressed() 41 } 42 } 43 44 override fun onCreateOptionsMenu(menu: Menu): Boolean { 45 // Inflate the menu; this adds items to the action bar if it is present. 46 menuInflater.inflate(R.menu.cotop, menu) 47 return true 48 } 49 50 override fun onOptionsItemSelected(item: MenuItem): Boolean { 51 // Handle action bar item clicks here. The action bar will 52 // automatically handle clicks on the Home/Up button, so long 53 // as you specify a parent activity in AndroidManifest.xml. 54 when (item.itemId) { 55 R.id.action_settings -> return true 56 else -> return super.onOptionsItemSelected(item) 57 } 58 } 59 60 override fun onNavigationItemSelected(item: MenuItem): Boolean { 61 // Handle navigation view item clicks here. 62 when (item.itemId) { 63 R.id.btn -> { 64 val intent = Intent(this, 別の画面のActivity::class.java) 65 startActivity(intent) 66 } 67 R.id.btn -> { 68 val intent = Intent(this, 別の画面のActivity::class.java) 69 startActivity(intent) 70 } 71 R.id.btn -> { 72 val intent = Intent(this, 別の画面のActivity::class.java) 73 startActivity(intent) 74 } 75 R.id.btn -> { 76 val intent = Intent(this, 別の画面のActivity::class.java) 77 startActivity(intent) 78 } 79 R.id.btn -> { 80 val intent = Intent(this, 別の画面のActivity::class.java) 81 startActivity(intent) 82 } 83 R.id.btn -> { 84 val intent = Intent(this, 別の画面のActivity::class.java) 85 startActivity(intent) 86 } 87 R.id.btn -> { 88 val intent = Intent(this, 別の画面のActivity::class.java) 89 startActivity(intent) 90 } 91 } 92 93 drawer_layout.closeDrawer(GravityCompat.START) 94 return true 95 } 96} 97

別のビューへは問題なく遷移できるので問題はこのビューだという事までは突き止められたのですが、ここからどうすればいいのか見当が付きません。
よろしくお願いします。

bochan2👍を押しています

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

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

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

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

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

jimbe

2019/02/28 09:25

COTopActivity を中身の無いアクティビティにすると動くようですので, COTopActivity を単体で動くように修正された後に COLauncherActivity と連携されては如何でしょうか.
guest

回答2

0

自己解決

まずは回答してくださった皆様にお礼を申し上げます。
ありがとうございました。

こちらは自己解決したのですが、マニフェストファイルのトップビューに

Androidmanifest

1android:theme="@style/AppTheme.NoActionBar"

を追記する事で解決しました。

投稿2019/03/01 04:28

cshintaku

総合スコア34

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

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

0

Timerで実行されるときはUIスレッドではないのでは?

runOnUiThread()などでUIスレッドで実行させれば動くかと思います。

投稿2019/02/28 09:04

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問