フラグメントの2つの(2)のボタンを追加する方法

Kellin Strook:

私はここでチュートリアルを以下ました:https://gist.github.com/EmmanuelGuther/1fde5cfbd1cdcd21cd852e3bb5716e02

私は、ユーザー入力からの合計を計算ボタンを一つ持っています。これは、レイアウトの使用fragment_ab.xmlを私は追加したいと思い、「クリア」ボタンをしかし、私は2番目のボタンを追加する方法がわかりません。

主な活動では、私はちょうど使用することになりclear.setOnClickListener {}と並んcompute.setOnClickListenerを{}が、それはここでは動作しません。私は断片に新たなんです。

ここで、コードは次のとおりです。

    import android.os.Bundle
    import android.view.LayoutInflater
    import android.view.View
    import android.view.ViewGroup
    import android.widget.Button
    import android.widget.Toast
    import androidx.fragment.app.Fragment

    class AbActivity: Fragment(), View.OnClickListener {
        override fun onCreateView(
            inflater: LayoutInflater,
            container: ViewGroup?,
            savedInstanceState: Bundle?
        ): View {
            val view: View = inflater!!.inflate(R.layout.fragment_ab, container, false)
            val btn: Button = view.findViewById(R.id.compute)
            btn.setOnClickListener(this)
            return view
        }

    companion object {
        fun newInstance(): AbActivity{
            return AbActivity()
        }
    }

    override fun onClick(v: View?) {
        when (v?.id) {
            R.id.compute -> {
                Toast.makeText(
                    activity,"Yay!",
                    Toast.LENGTH_SHORT).show()
            }
            else -> {
            }
        }
    }
}
DB377:

あなたの中にボタンを追加しfragment_ab.xml、IDを= clearし、次のようにしてください。

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Button
import android.widget.Toast
import androidx.fragment.app.Fragment

class AbActivity: Fragment(), View.OnClickListener {
    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View {
        val view: View = inflater!!.inflate(R.layout.fragment_ab, container, false)
        val btn: Button = view.findViewById(R.id.compute)
        btn.setOnClickListener(this)

        // for clear button
        val btnClear: Button = view.findViewById(R.id.clear)
        btnClear.setOnClickListener(this)
        return view
    }

companion object {
    fun newInstance(): AbActivity{
        return AbActivity()
    }
}

override fun onClick(v: View?) {
    when (v?.id) {
        R.id.compute -> {
            Toast.makeText(
                activity,"Yay!",
                Toast.LENGTH_SHORT).show()
        }
        // clear button click
        R.id.clear -> {
            Toast.makeText(
                activity,"Clear!",
                Toast.LENGTH_SHORT).show()
        }
        else -> {
        }
    }
}

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=282897&siteId=1