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

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

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

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

Kotlin

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

Q&A

解決済

1回答

1736閲覧

[kotlin]MPAndoroidChartのlineChartクラスがインポートできない、findViewByIdが使えない

mee

総合スコア16

Android Studio

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

Kotlin

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

0グッド

0クリップ

投稿2021/05/22 02:33

下記サイトのソースコードを自分の環境で動かそうとしているのですが、lineChartだけ何故かインポートできずに止まっています。
そのせいか分からないのですが、
lineChart = findViewById(R.id.lineChart_Example) のfindViewByIdにも以下のエラーメッセージ?が出ていて使えない状態です。
Not enough information to infer type variable T

解決策を教えていただけたらうれしいです。

【スマホアプリでグラフ】MPAndroidChartまとめ

kotlin

1package com.example.test3 2 3import android.graphics.Color 4import androidx.appcompat.app.AppCompatActivity 5import android.os.Bundle 6import com.github.mikephil.charting.data.Entry 7import com.github.mikephil.charting.data.LineData 8import com.github.mikephil.charting.data.LineDataSet 9import com.github.mikephil.charting.interfaces.datasets.ILineDataSet 10 11class GraphActivity : AppCompatActivity() { 12 override fun onCreate(savedInstanceState: Bundle?) { 13 super.onCreate(savedInstanceState) 14 setContentView(R.layout.activity_graph) 15 16 //表示用サンプルデータの作成// 17 val x = listOf<Float>(1f, 2f, 3f, 5f, 8f, 13f, 21f, 34f)//X軸データ 18 val y = x.map{it*it}//Y軸データ(X軸の2乗) 19 20 //①Entryにデータ格納 21 var entryList = mutableListOf<Entry>()//1本目の線 22 for(i in x.indices){ 23 entryList.add( 24 Entry(x[i], y[i]) 25 ) 26 } 27 28 //LineDataSetのList 29 val lineDataSets = mutableListOf<ILineDataSet>() 30 //②DataSetにデータ格納 31 val lineDataSet = LineDataSet(entryList, "square") 32 //③DataSetにフォーマット指定(3章で詳説) 33 lineDataSet.color = Color.BLUE 34 //リストに格納 35 lineDataSets.add(lineDataSet) 36 37 //④LineDataにLineDataSet格納 38 val lineData = LineData(lineDataSets) 39 //⑤LineChartにLineData格納 40 lineChart = findViewById(R.id.lineChart_Example) 41 lineChart.data = lineData 42 //⑥Chartのフォーマット指定(3章で詳説) 43 //X軸の設定 44 lineChart.xAxis.apply { 45 isEnabled = true 46 textColor = Color.BLACK 47 } 48 //⑦linechart更新 49 lineChart.invalidate() 50 51 } 52}

kotlin

1<?xml version="1.0" encoding="utf-8"?> 2<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:app="http://schemas.android.com/apk/res-auto" 4 xmlns:tools="http://schemas.android.com/tools" 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" 7 tools:context=".GraphActivity"> 8 <com.github.mikephil.charting.charts.LineChart 9 android:id="@+id/lineChartExample" 10 android:layout_width="match_parent" 11 android:layout_height="match_parent"/> 12</androidx.constraintlayout.widget.ConstraintLayout> 13

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

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

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

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

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

guest

回答1

0

自己解決

以下の通り書き換えたらちゃんと動きました。
lineChartを変数宣言して、
手打ちでlineChartって打ってる途中に何故かちゃんとインポート先が出てきたのでポチッとして、
findViewByIdのキャストに<LineChart>を指定してあげる

lineChart = findViewById(R.id.lineChartExample)

val lineChart = findViewById<LineChart>(R.id.lineChartExample)

投稿2021/05/22 09:53

mee

総合スコア16

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問