1

アーキテクチャ コンポーネントの実装中に、この問題に直面しています

import android.arch.lifecycle.Lifecycle
import android.arch.lifecycle.LifecycleOwner
import android.os.Bundle
import com.reversebits.trendyvidz.R

class MainActivity : LifecycleOwner {

    override fun getLifecycle(): Lifecycle {
        TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
    }

    @OnLifecycleEvent(Lifecycle.Event.ON_CREATE)
    fun onCreate(savedInstanceState: Bundle?) {
        setTheme(R.style.AppTheme) //This shows error
        setContentView(R.layout.activity_main) //This shows error
        init()
    }

    private fun init() {
        when {
            isNetworkAvailable() -> toast("Yes Avail")
            else -> toast("No") 
        }
    }
}

setContentView()ここで AppCompatActivity のようなアクティビティ コンテキスト ベースのメソッドを取得するにはどうすればよいでしょうか。

4

2 に答える 2

-1

さて、私はそれを理解しました、
私はこれを行う必要があります:

class MainActivity : AppCompatActivity(), LifecycleOwner {

LifecycleOwner は単一のメソッドを持つ単なるインターフェースであるため

override fun getLifecycle(): Lifecycle {
        TODO("Not implemented") //To change body of created functions use File | Settings | File Templates.
    }

そして、LifecycleOwner を実装した後、この注釈でメソッドに注釈を付けることができます。

@OnLifecycleEvent(Lifecycle.Event.ON_START) etc.
于 2017-09-19T11:10:51.720 に答える