【发布时间】:2019-03-21 17:47:03
【问题描述】:
我在 Playstore 中部署了我的应用程序,它在 Galaxy 手机中运行没有问题,但在 Oxygen OS 中崩溃。下面是我的代码和错误。任何建议都非常感谢。
使用的语言 科特林
尝试过的选项
myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
代码:
override fun onBindViewHolder(p0: MyViewHolder, p1: Int) {
Picasso.get().load(testList[p1].Image).into(p0.imageView)
p0.textView.text=testList[p1].Name
p0.setClick(object:IRecyclerClick
{
override fun onClick(view: View, position: Int) {
context.startActivity(Intent(context,MainActivity::class.java))
Intent(context, MainActivity::class.java)
Common.selected_test=testList[position]
}
}
)
}
错误:
2019-03-19 23:57:00.545 26980-26980/com.candy.testreader E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.candy.testreader, PID: 26980
android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
at android.app.ContextImpl.startActivity(ContextImpl.java:912)
at android.app.ContextImpl.startActivity(ContextImpl.java:888)
at com.candy.testreader.Adapter.MyTestAdapter$onBindViewHolder$1.onClick(MyTestAdapter.kt:39)
at com.candy.testreader.Adapter.MyTestAdapter$MyViewHolder.onClick(MyTestAdapter.kt:50)
at android.view.View.performClick(View.java:6597)
at android.view.View.performClickInternal(View.java:6574)
at android.view.View.access$3100(View.java:778)
at android.view.View$PerformClick.run(View.java:25885)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
【问题讨论】:
-
什么是上下文 - 活动上下文或应用程序上下文?如果是后者,请更改为使用 Activity 上下文。如果您在 View 中,应该可以使用其中的代码。
-
活动上下文。
-
我不知道为什么它在银河手机上工作,但在谷歌操作系统相关的手机上却不行。我的适配器出现此错误。
标签: android android-intent kotlin android-inflate