2017-10-09 8 views
1

私はアーキテクチャコンポーネントを実行している簡単なアプリケーションを持っています。ライブラリの最新のアップデート( "Beta2")以来、私はobservableがトリガされていないという問題を抱えています(同じコードがアクティビティで動作します)Androidアーキテクチャのコンポーネント - Observableがトリガーされていない

現在は動作していないサンプルです。

class SampleFragment : Fragment() { 

    private var isDataReady = MutableLiveData<Boolean>() 

    private val registry = LifecycleRegistry(this) 

    override fun getLifecycle(): LifecycleRegistry = registry 

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, 
          savedInstanceState: Bundle?): View? { 
     return inflater.inflate(R.layout.fragment_main2, container, false) 
    } 

    override fun onViewCreated(view: View?, savedInstanceState: Bundle?) { 
     super.onViewCreated(view, savedInstanceState) 

     fab.setOnClickListener { _ -> 
      isDataReady.postValue(true) 
     } 
     isDataReady.observe(this, Observer { 
      Snackbar.make(fab, "Hello!", Snackbar.LENGTH_LONG).show() 
     }) 
    } 
} 

私は何かを逃しましたか?

ありがとうございました。

+0

を参照してください。これはあなたを助けている場合:HTTPS:/ /stackoverflow.com/questions/45889604/livedata-is-not-updating-its-value-after-first-call – joao86

+0

ありがとうございましたLifecycleFragmentが使用されていれば、以前は動作していましたが、廃止予定で、そのロジックは(サポートライブラリv26から)。私はまだ問題を抱えています:( – colletjb

+0

私はbeta2に移行していません。私はそれを試して、私のまだ動作しているかどうかを確認します – joao86

答えて

0

私は最終的に上記の問題の解決策を考え出しました。

私たちが断片になっているので、私はアクティビティを使用して観察する必要があります。 (これは、「これは」でなければなりませんが、それは、これまで働いていない

isDataReady.observe(activity, Observer { 

私は、それは一時的な修正だと思う...あなたの助けを

おかげ

関連する問題