Closed8

android の コンポーネント 制御 は何使えばいいの(findViewById の代わり)

tkttkt

activity 制御 というよりも、コンポーネント制御かな

tkttkt

https://github.com/tktcorporation/AppSyncSample/blob/e2fb1651c8/androidinit/app/src/main/java/com/tktcorporation/appsyncsample/MainActivity.kt

package com.tktcorporation.appsyncsample

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import com.amplifyframework.api.ApiException
import com.amplifyframework.api.graphql.model.ModelMutation
import com.amplifyframework.core.Amplify
import com.amplifyframework.datastore.generated.model.Todo
import com.tktcorporation.appsyncsample.databinding.ActivityMainBinding

class MainActivity : AppCompatActivity() {

  private lateinit var binding: ActivityMainBinding

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    binding = ActivityMainBinding.inflate(layoutInflater)
    val view = binding.root
    setContentView(view)

    binding.createButton.setOnClickListener {
      createToDo(binding.todoName.text.toString(), binding.todoDescription.text.toString())
    }
  }

  private fun createToDo(name: String, description: String) {
    val todo: Todo = Todo.builder()
      .name(name)
      .description(description)
      .build()

    Amplify.API.mutate(
      ModelMutation.create(todo),
      { response -> Log.i("MyAmplifyApp", "Added Todo with id: " + response.getData().getId()) },
      { error: ApiException? -> Log.e("MyAmplifyApp", "Create failed", error) }
    )
  }
}

サンプル view binding

tkttkt

ViewModel を使ってる場合はどれを使ったらいいのかわからん

tkttkt

viewbinding と databinding 両方使ってるけど普通に使えてる

このスクラップは2020/12/14にクローズされました