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

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

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

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

Kotlin

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

Q&A

解決済

1回答

3556閲覧

「Function 'xxxx' could be private…」と「Parameter 'xxxx' is never used」について

jimuma

総合スコア23

Android Studio

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

Kotlin

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

0グッド

1クリップ

投稿2019/04/27 15:01

本を見ながらandroid Studioを使ってアプリの開発をしているの初心者なのですが
序盤で詰まってしまったのでこちらでお聞きさせてください。

作ろうとしているのは以下のような2つの画面を備えたじゃんけんのアプリです。

イメージ説明

左側が「activity_main.xml」で右側が「activity_Result.xml」になります。

まだ完成はしていないのですが、テキストでは左側の画面でグー・チョキ・パーの
いずれかをタップして、右側の画面に遷移するところまではアプリの実行で
確認出来るという事ですが、上手く出来ませんでした。
(データを渡す「putExtra」と、勝ち負けを判断する「when式」は共に未実装です)

ソースコードはそれぞれ以下です。

■ResultActivity.ky
package com.example.janken

import android.support.v7.app.AppCompatActivity
import android.os.Bundle

class ResultActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_result) }

}

■MainActivity.ky
package com.example.janken

import android.content.Intent
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) gu.setOnClickListener { onJankenButtonTapped(it) } choki.setOnClickListener { onJankenButtonTapped(it) } pa.setOnClickListener { onJankenButtonTapped(it) } } fun onJankenButtonTapped(view: View?){ val intent = Intent(this, ResultActivity::class.java) startActivity(intent) }

}

■発生しているエラー
「MainActivity.ky」で以下の2つのエラーが発生しています。

1、Parameter 'view' is never used
2、Function 'onJankenButtonTapped' could be private less... (Ctrl+F1)
Inspection info: This inspection reports class members which can be made private

1については「view」というパラメータは他の場所で使われていないですよ、という意味だと
思うのですが、この後の「putExtra」で実装するようなので今は使われていなくても問題ないのかと思っています。

2については「onJankenButtonTapped」というメソッドを定義したものの他のところで
使われていない(privateってそういう意味でしょうか)よという事だと思っていますが、
テキストでは、どこかでメソッドを呼び出さなくてもボタンをタップしたときに
「onJankenButtonTapped」が動くと記載されているので問題ないのかと思っています。

2について少し気になるのは、上記のソースコードにはコピー出来ませんでしたが、
android Studio上では実際には
val intent = Intent( packageContext: this, ResultActivity::class.java)
と、「packageContext:」の文字列が勝手に入っているのが気になります。

どちらもネットで調べてもそれらしき回答にたどり着けなかった為、こちらで質問させて
いただいた次第です。

どなたか詳しい方いらっしゃいましたらご回答宜しくお願いします。:

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

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

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

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

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

guest

回答1

0

ベストアンサー

Androidアプリの開発は素人なのですが、分かる範囲で回答します。
見当違いなことを言ってしまっていたらごめんなさい。


「MainActivity.ky」で以下の2つのエラーが発生しています。

1、Parameter 'view' is never used
2、Function 'onJankenButtonTapped' could be private less... (Ctrl+F1)

それはエラーではなく、警告です。
コードの改善点を教えてくれるものですが、無視しても問題無くビルドできます。

1については「view」というパラメータは他の場所で使われていないですよ、という意味だと

思うのですが、この後の「putExtra」で実装するようなので今は使われていなくても問題ないのかと思っています。

ご推察のとおり、未使用の変数や引数がある際に発せられる警告です。
単に実装前なのでしたら放っておいても良いでしょう。

2については「onJankenButtonTapped」というメソッドを定義したものの他のところで

使われていない(privateってそういう意味でしょうか)よという事だと思っていますが、
テキストでは、どこかでメソッドを呼び出さなくてもボタンをタップしたときに
「onJankenButtonTapped」が動くと記載されているので問題ないのかと思っています。

当該メソッドのアクセス修飾子をprivateにできるよ、という警告です。
アクセス修飾子は可視性を指定するものです。これについては別途お調べ下さい。

これも完成するまで放っておいて良いでしょう。


2について少し気になるのは、上記のソースコードにはコピー出来ませんでしたが、

android Studio上では実際には
val intent = Intent( packageContext: this, ResultActivity::class.java)
と、「packageContext:」の文字列が勝手に入っているのが気になります。

Android Studioが気を遣って、仮引数名を表示してくれているだけです。
プログラマを助けるための機能で、コード自体に影響はありません。

投稿2019/04/27 15:16

LouiS0616

総合スコア35660

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

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

jimuma

2019/04/27 15:37

早速のご回答ありがとうございます。 誤って理解していた事が多かったようでご指摘助かりました。 アプリの実行をしても、エミュレーターは起動してもアプリが起動しないようで 今回ご質問させていただきましたが、ソースコード自体の問題ではなさそうなので、 引き続き先を進めてみたいと思います。 有難うございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問