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

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

ただいまの
回答率

89.99%

findViewByIdのエラーが解消できない

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 826

asdfhorse

score 11

 前提・実現したいこと

AndroidStudio Kotlin初心者です。
家計簿アプリを作成しています。
家計簿の支出一覧画面をListViewを使って表示させようと考えています。
どなたかご教授お願い致します。

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

エラーメッセージ
MainActivityのlistView = findViewById(R.id.kakeibolist)で下記のエラーが出ています。

Cannot infer type parameter T in 

fun <T : View!> findViewById
(
id: Int
)
: T!
None of the following substitutions



(
Int
)



(
Int
)
can be applied to



(
Int
)

 該当のソースコード

package com.example.kakeiboapplication

import io.realm.RealmObject
import io.realm.annotations.PrimaryKey

open class Kakeibo : RealmObject() {
        @PrimaryKey
        var shushiId: String? = null
        var date: String? = null
        var money: Int = 0
        var shuushi: String? = null
        var genre: String? = null
}
package com.example.kakeiboapplication

import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import io.realm.OrderedRealmCollection
import io.realm.RealmBaseAdapter

    class KakeiboAdapter (data: OrderedRealmCollection<Kakeibo>?)
        : RealmBaseAdapter<Kakeibo>(data) {


        inner class ViewHolder(cell : View) {
            var kakeiboDate = cell.findViewById<TextView>(R.id.kakeibodate)
            var kakeiboMoney = cell.findViewById<TextView>(R.id.kakeibomoney)
            var kakeiboShushi = cell.findViewById<TextView>(R.id.kakeiboshuushi)
            var kakeiboGenre = cell.findViewById<TextView>(R.id.kakeibogenre)
            //  var recipeImage = cell.findViewById<ImageView>(R.id.re_image)
        }


        override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
            val view : View
            val viewHolder : ViewHolder

            when(convertView) {
                null -> {
                    val inflater = LayoutInflater.from(parent?.context)
                    view = inflater.inflate(R.layout.kakeibolist,parent,false)
                    viewHolder = ViewHolder(view)
                    view.tag = viewHolder
                }
                else -> {
                    view = convertView
                    viewHolder = view.tag as ViewHolder
                }
            }
            adapterData?.run {
                val Kakeibo = get(position)
                viewHolder.kakeiboDate.text = Kakeibo.date
                viewHolder.kakeiboMoney.setText(Kakeibo.money)
                viewHolder.kakeiboShushi.text = Kakeibo.shuushi
                viewHolder.kakeiboGenre.text = Kakeibo.genre
                //     viewHolder.recipeImage.setImageBitmap(Recipe.recipeImage)
                viewHolder.kakeiboDate.setPadding(15, 0, 0,  0)
                viewHolder.kakeiboMoney.setPadding(200, 0 , 0 , 0  )
                viewHolder.kakeiboShushi.setPadding(15, 0, 0,  0)
                viewHolder.kakeiboGenre.setPadding(200, 0 , 0 , 0  )

            }
            return view
        }
    }
package com.example.kakeiboapplication

import android.graphics.BitmapFactory
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.util.Log
import android.widget.ListView
import io.realm.Realm
import io.realm.kotlin.createObject
import io.realm.kotlin.where
import java.util.*

class MainActivity : AppCompatActivity() {
    private lateinit var realm: Realm
    @Override
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        realm = Realm.getDefaultInstance()

        realm.beginTransaction()

        realm.createObject<Kakeibo>(UUID.randomUUID().toString()).apply {
            date = "2018年11月14日"
            money = 1000
            shuushi = "支出"
            genre = "食費"
        }
        realm.commitTransaction()

        var listView:ListView
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        listView = findViewById(R.id.kakeibolist)
        val Kakeibo = realm.where<Kakeibo>().findAll()
        listView?.adapter = KakeiboAdapter(Kakeibo)

    }
}
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">

    <TextView
            android:id="@+id/text1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="124dp"
            android:text="@string/title_nengetu"
            android:textSize="25dp"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            android:layout_marginTop="16dp"/>
    <TextView
            android:id="@+id/text2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/calendar"
            android:textSize="20dp"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            android:layout_marginTop="20dp" android:layout_marginLeft="268dp"/>
           <View
                android:layout_width="match_parent"
                android:layout_height="2.5dp"
                android:background="@color/blackColor"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                app:layout_constraintRight_toRightOf="parent"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintHorizontal_bias="1.0"
                app:layout_constraintVertical_bias="0.092"/>
    <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="@color/blackColor"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintHorizontal_bias="0.0"
            app:layout_constraintVertical_bias="0.89" android:id="@+id/view"/>

    <android.support.design.widget.BottomNavigationView
            android:id="@+id/navigation"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginEnd="0dp"
            android:layout_marginStart="0dp"
            android:background="?android:attr/windowBackground"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:menu="@menu/navigation"/>
    <ListView
            android:id="@+id/kakeibolist"
            android:layout_width="382dp"
            android:layout_height="405dp"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintHorizontal_bias="0.0" app:layout_constraintBottom_toTopOf="@+id/view"/>

</android.support.constraint.ConstraintLayout>
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
                                             android:layout_width="match_parent"
                                             android:layout_height="match_parent"
                                             xmlns:app="http://schemas.android.com/apk/res-auto">
<TextView
        android:id="@+id/kakeibodate"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        app:layout_constraintStart_toStartOf="parent"
        android:textAppearance="?android:attr/textAppearanceLarge"/>
    <TextView
            android:id="@+id/kakeiboshuushi"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            app:layout_constraintStart_toStartOf="parent"
            android:textAppearance="?android:attr/textAppearanceLarge"/>
    <TextView
            android:id="@+id/kakeibomoney"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            app:layout_constraintStart_toStartOf="parent"
            android:textAppearance="?android:attr/textAppearanceLarge"/>
    <TextView
           android:id="@+id/kakeibogenre"
           android:layout_width="wrap_content"
           android:layout_height="match_parent"
           app:layout_constraintStart_toStartOf="parent"
           android:textAppearance="?android:attr/textAppearanceLarge"/>

</android.support.constraint.ConstraintLayout>
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

check解決した方法

0

super.onCreateの位置を変更したら、解決しました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 89.99%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる