'startActivity(android.content.Context, android.content.Intent, android.os.Bundle)' in 'androidx.core.content.ContextCompat' cannot be applied to '(android.content.Intent)'
这个错误通常出现在你尝试在一个非 Activity 类中使用 startActivity
方法时。
startActivity
方法是一个用于启动新的 Activity 的方法,它需要一个有效的上下文(Context)作为第一个参数。
如果你在一个非 Activity 类中尝试调用 startActivity
,你需要确保你有一个有效的上下文对象可供使用。通常情况下,你可以从一个 Activity 中获取上下文对象,然后将其传递给非 Activity 类。
在你的错误消息中提到了 androidx.core.content.ContextCompat
,这是 AndroidX 库中的一个工具类,它通常用于获取上下文对象。如果你在非 Activity 类中使用它,你需要确保传递正确的上下文参数。以下是一个示例:
import android.content.Context;
import android.content.Intent;
import androidx.core.content.ContextCompat;
public class MyNonActivityClass {
private Context context;
public MyNonActivityClass(Context context) {
this.context = context;
}
public void startNewActivity() {
Intent intent = new Intent(context, MyActivity.class);
context.startActivity(intent);
}
}
在上面的示例中,MyNonActivityClass
接受一个上下文对象,并在需要时使用它来启动一个新的 Activity。
请确保你在非 Activity 类中具有有效的上下文对象,并且将其传递给 startActivity
方法。