我一直试图在NewsFragment.kt下创建3 setOnClickListener(for US_Fragment.kt / EMEA_Fragment.kt / ASIA_Fragment.kt),但是卡住了。
如何在片段下创建setOnClickListener,以便如果单击按钮,程序将跳至其对应的页面?
非常感谢你。
代码如下:
NewsFragment.kt
class NewsFragment : Fragment() {
// TODO: Rename and change types of parameters
private var param1: String? = null
private var param2: String? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
arguments?.let {
param1 = it.getString(ARG_PARAM1)
param2 = it.getString(ARG_PARAM2)
}
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
//Here is where I want to create 3 setOnClickListener with intent
}
companion object {
@JvmStatic
fun newInstance(param1: String, param2: String) =
NewsFragment().apply {
arguments = Bundle().apply {
putString(ARG_PARAM1, param1)
putString(ARG_PARAM2, param2)
}
}
}
}
US_Fragment.kt
class US_Fragment : Fragment() {
// TODO: Rename and change types of parameters
private var param1: String? = null
private var param2: String? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
arguments?.let {
param1 = it.getString(ARG_PARAM1)
param2 = it.getString(ARG_PARAM2)
}
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
val view = inflater.inflate(R.layout.fragment_us, container, false)
view.usnews.layoutManager = LinearLayoutManager(activity)
view.usnews.adapter = MainAdapter()
return view
}
companion object {
@JvmStatic
fun newInstance(param1: String, param2: String) =
US_Fragment().apply {
arguments = Bundle().apply {
putString(ARG_PARAM1, param1)
putString(ARG_PARAM2, param2)
}
}
}
}
EMEA_Fragment.kt
class EMEA_Fragment : Fragment() {
// TODO: Rename and change types of parameters
private var param1: String? = null
private var param2: String? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
arguments?.let {
param1 = it.getString(ARG_PARAM1)
param2 = it.getString(ARG_PARAM2)
}
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
val view = inflater.inflate(R.layout.fragment_emea, container, false)
view.emeanews.layoutManager = LinearLayoutManager(activity)
view.emeanews.adapter = MainAdapter()
return view
}
companion object {
@JvmStatic
fun newInstance(param1: String, param2: String) =
EMEA_Fragment().apply {
arguments = Bundle().apply {
putString(ARG_PARAM1, param1)
putString(ARG_PARAM2, param2)
}
}
}
}
ASIA_Fragment.kt
class ASIA_Fragment : Fragment() {
// TODO: Rename and change types of parameters
private var param1: String? = null
private var param2: String? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
arguments?.let {
param1 = it.getString(ARG_PARAM1)
param2 = it.getString(ARG_PARAM2)
}
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
val view = inflater.inflate(R.layout.fragment_asia, container, false)
view.asianews.layoutManager = LinearLayoutManager(activity)
view.asianews.adapter = MainAdapter()
return view
}
companion object {
@JvmStatic
fun newInstance(param1: String, param2: String) =
ASIA_Fragment().apply {
arguments = Bundle().apply {
putString(ARG_PARAM1, param1)
putString(ARG_PARAM2, param2)
}
}
}
}