🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Android

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

Android Studio

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

Kotlin

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

Q&A

解決済

1回答

1724閲覧

kotlin じゃんけんアプリの結果判定を表示したい

jta.sat

総合スコア10

Android

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

Android Studio

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

Kotlin

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

0グッド

0クリップ

投稿2019/12/06 02:42

前提・実現したいこと

現在初めてkotlinを使ってAndroidアプリの開発を行っています。
私自身javaは未経験です。
Android Studio3.5を使用して開発を進めております。

実現したいこととしては、じゃんけんの判定結果の表示を行いたいです。
勝っていたら勝ち、負けていたら負け、あいこならあいこと表示を行いたいです。

エラーメッセージ エラーメッセージはでていないのですが、エミュレーターで確認を行ったところ、 画面上では、勝ち、負け、あいこのそれぞれのtextviewがそのまま表示されているのみで 判定結果の表示を実装できていない状態です。 ご回答よろしくお願いいたします。
### 該当のソースコード ## SubActivity.kt package com.example.janken import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.ImageButton import android.widget.ImageView import kotlinx.android.synthetic.main.activity_sub.* import java.util.* class SubActivity : AppCompatActivity() { private val random = Random() override fun onCreate(savedInstanceState: Bundle?) { // 親クラスであるActivityクラスのonCreate()を呼んでいます。 super.onCreate(savedInstanceState) // Activityクラスで定義されているメソッド。引数に渡したレイアウト定義用xmlファイルを読み込んで、画面に表示してくれます。 setContentView(R.layout.activity_sub) // Intent を取得する val intent = intent fun resultToImageName( result : Int ) : String { return when( result ) { 1 -> "gu" 2 -> "choki" else -> "pa" } } // 1. 相手の出した手の判定番号を取得 val targetJankenResult = random.nextInt(3) // 1-2. 相手の出した手の判定番号をもとにした画像表示 val targetHand: ImageView = findViewById(R.id.comHand) val handImageName = resultToImageName( targetJankenResult ) targetHand.setImageResource( resources.getIdentifier( handImageName , "drawable" , packageName )) // 2. 自分の手の結果画像表示 val meJankenResult = intent.getIntExtra("janken",1) val meHand: ImageView = findViewById(R.id.playerHand) val meHandImageName = resultToImageName( meJankenResult ) meHand.setImageResource( resources.getIdentifier( meHandImageName , "drawable" , packageName )) // 2-2. 勝敗のパターン判定 if ( meJankenResult == 1 ) { // 自分がグーを出した時 when { targetJankenResult == 1 -> draw.setText("あいこ") targetJankenResult == 2 -> win.setText("勝ち") else -> lose.setText("負け") } } else if( meJankenResult == 2 ) { // 自分がチョキを出した時 when { targetJankenResult == 1 -> lose.setText("負け") targetJankenResult == 2 -> draw.setText("あいこ") else -> win.setText("勝ち") } } else { // 自分がパーを出した時 when { targetJankenResult == 1 -> win.setText("勝ち") targetJankenResult == 2 -> lose.setText("負け") else -> draw.setText("あいこ") } } ## activity_sub.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" > <ImageView android:id="@+id/comHand" android:layout_width="150dp" android:layout_height="150dp" android:src="@drawable/gu" /> <TextView android:id="@+id/win" android:layout_width="60dp" android:layout_height="60dp" android:background="@android:color/holo_red_light" android:gravity="center" android:text="勝ち!" /> <TextView android:id="@+id/lose" android:layout_width="60dp" android:layout_height="60dp" android:background="@android:color/holo_red_light" android:gravity="center" android:text="負け" /> <TextView android:id="@+id/draw" android:layout_width="60dp" android:layout_height="60dp" android:background="@android:color/holo_red_light" android:gravity="center" android:text="あいこ" /> <ImageView android:id="@+id/playerHand" android:layout_width="150dp" android:layout_height="150dp" android:src="@drawable/pa" /> <Button android:id="@+id/return_Button" android:layout_width="wrap_content" android:layout_height="60dp" android:text="戻る" android:layout_gravity="top" /> <TextView android:id="@+id/result" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:text="" android:textColor="@android:color/black" android:textSize="24sp" android:textStyle="bold" app:layout_constraintBottom_toTopOf="@+id/playerHand" app:layout_constraintEnd_toEndOf="@+id/playerHand" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="@+id/playerHand" app:layout_constraintTop_toBottomOf="@+id/comHand" /> </LinearLayout>

試したこと

when文を使ってじゃんけんの勝敗のパターン判定を行い、その結果を
setTextで表示できるようにしたつもりですが、実装としては反映されていません。

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

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

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

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

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

guest

回答1

0

自己解決

解決しました。
set textの使用方法が間違っておりました。
ありがとうございました。

投稿2019/12/06 06:03

jta.sat

総合スコア10

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問