我在MainActive
中有显示类别列表的片段,我想在用户单击类别项目时添加一个选项,应该开始一个新活动(MainActivity2
)其中包含一个显示文章列表的片段。
问题是,当我使用打开活动的方法Intent时,我会出现多个错误。
这是我的MainActivity2:
package com.mbds.news
import android.content.Intent
import android.os.Bundle
import com.google.android.material.floatingactionbutton.FloatingActionButton
import com.google.android.material.snackbar.Snackbar
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
import com.mbds.news.fragments.ArticlesFragment
import com.mbds.news.fragments.CategoriesFragement
class MainActivity2 : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main2)
changeFragment(ArticlesFragment())
}
}
/**
* Ajouter le fragmet [ComputationFragment] dans l'activité
*/
fun MainActivity2.changeFragment(fragment: Fragment) {
supportFragmentManager.beginTransaction().apply {
//3) on remplace le contenu du container
replace(R.id.fragment_container, fragment)
//4) on ajoute la transaction dans la backstack
addToBackStack(null)
}.commit()
// 5) on commit la transaction
}
这是我把我的重定向:
class CategoriAdapter(private val dataset: List<Category>) :
RecyclerView.Adapter<CategoriAdapter.ViewHolder>() {
class ViewHolder(val root: View) : RecyclerView.ViewHolder(root) {
fun bind(item:Category ) {
var txtname = root.findViewById<TextView>(R.id.category_name)
val imageView = root.findViewById<ImageView>(R.id.category_image)
imageView.setOnClickListener {
val intent = Intent(this, MainActivity2::class.java)
startActivity(intent)
}
txtname.text = item.name
Glide
.with(root)
.load(item.image)
.centerInside()
.placeholder(R.drawable.placeholder)
.into(imageView);
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val rootView = LayoutInflater.from(parent.context)
.inflate(R.layout.list_item, parent, false)
return ViewHolder(rootView)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.bind(dataset[position])
}
override fun getItemCount(): Int = dataset.size
}
这是我的日志:
None of the following functions can be called with the arguments supplied:
public constructor Intent(p0: Context!, p1: Class<*>!) defined in android.content.Intent
public constructor Intent(p0: String!, p1: Uri!) defined in android.content.Intent
No value passed for parameter 'p1'
No value passed for parameter 'p2'
你还没有发布错误,但我想这是因为
val intent = Intent(this, MainActivity2::class.java)
startActivity(intent)
“this”并没有像应该的那样引用活动或上下文,Kotlin视图有一个Context属性,所以请尝试
val intent = Intent(imageView.context, MainActivity2::class.java)
编辑:第二行:
imageView.context.startActivity(intent)
--lesson.java --list_item.xml
我合并了一个水平幻灯片导航组件(这需要使类扩展片段)。滑动部分工作正常。这里我有相应的<code>onClick() 到目前为止,我的代码还不多,所以我不会用相关的布局部分来混淆我的问题。任何帮助都是非常感谢的。 片段#1的Java代码 public class TasksFragment扩展Fragment { @ Override public View oncreate View(layou
我是全新的,我唯一的编程经验是PLC; s和HMI的,所以我很抱歉不能弄清楚什么可能是一个简单的任务。但是我找不到任何CURRENT视频或工作示例,说明如何简单地将图像放置在主活动上,并在按下后打开另一个活动。我正在使用最新版本的Android Studio11.0,并试图学习静态编程语言。我已经附上了我到目前为止的项目代码,正如你所看到的,我刚刚开始这个项目。提前感谢您的任何帮助。 Java文件
主要内容:Eclipse 重新打开关闭的项目Eclipse 重新打开关闭的项目 要重新打开一个关闭的项目,在 Package Explorer 视图中,选择关闭的项目并单击 Project 菜单并选择 Open Project。 项目打开后,可以使用 Eclipse 用户界面编辑其内容。
构建Java项目 项目可以有零个或多个与之关联的构建器。 java项目与java构建器关联。 要查看与项目关联的构建器 - 在Package Explorer视图中,右键单击项目,然后选择Properties。 在左侧树中单击“构建器”。 它是java构建器,它将Java项目与其他类型的项目区分开来。 通过单击New按钮,您可以将Ant构建器与java项目相关联。 java构建器负责编译java源
重新开放一个封闭的项目 要重新打开已关闭的项目,请在Package Explorer视图中选择已关闭的项目,然后单击Project菜单并选择Open Project。 项目打开后,可以使用Eclipse用户界面编辑其内容。