gpt4 book ai didi

android startActivity 未定义

转载 作者:行者123 更新时间:2023-11-29 18:03:20 25 4
gpt4 key购买 nike

我正在制作一个绘图应用程序并想分享图像。但是,我遇到了 startActivity 部分的错误,其中错误写道 The method startActivity(Intent) is undefined for the type 。这意味着什么以及如何解决?非常感谢!

编辑:

为代码发布了进一步的代码设置:ActivityAPaintView 中调用 shareImage()

我不确定这样的Context是否可以?除了这个新增的共享功能,没有共享的代码运行起来非常流畅。

画图 View

// the main screen that is painted
public class PaintView extends View
{
Context context_new;
private boolean isFileAlreadySaved = false;
String savedFilePath = "";

private static final float TOUCH_TOLERANCE = 10;
// other declarations here

// PaintView constructor initializes the PaintView
public PaintView(Context context, AttributeSet attrs)
{
super(context, attrs); // pass context to View's constructor
this.context_new=context;
paintScreen = new Paint(); // used to display bitmap onto screen

// set the initial display settings for the painted line
paintLine = new Paint();
paintLine.setAntiAlias(true); // smooth edges of drawn line
paintLine.setColor(Color.BLACK); // default color is black
paintLine.setStyle(Paint.Style.STROKE); // solid line
paintLine.setStrokeWidth(5); // set the default line width
paintLine.setStrokeCap(Paint.Cap.ROUND); // rounded line ends
pathMap = new HashMap<Integer, Path>();
previousPointMap = new HashMap<Integer, Point>();
} // end DoodleView constructor


public void shareImage()
{
Intent share;
File attachment = null;

if(isFileAlreadySaved == true)
{
attachment = new File(savedFilePath);
boolean isFileThere = attachment.exists();
if (isFileThere == true)
{
share = new Intent(Intent.ACTION_SEND);
share.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(attachment));
share.setType("image/png");
startActivity(Intent.createChooser(share, "Share drawing"));
}
}
else
{
Toast.makeText(getContext(), "Please save the image first...", Toast.LENGTH_LONG).show();
};
};

Activity A:

   public OnClickListener shareButtonListener = new OnClickListener()   
{
@Override
public void onClick(View v)
{
vibrate();
PaintView.shareImage(ActivtyA.this);
};
};

日志:

02-02 16:01:58.230: E/AndroidRuntime(9809):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992)
02-02 16:01:58.230: E/AndroidRuntime(9809): at android.app.ActivityThread.access$600(ActivityThread.java:127)
02-02 16:01:58.230: E/AndroidRuntime(9809): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
02-02 16:01:58.230: E/AndroidRuntime(9809): at android.os.Handler.dispatchMessage(Handler.java:99)
02-02 16:01:58.230: E/AndroidRuntime(9809): at android.os.Looper.loop(Looper.java:137)
02-02 16:01:58.230: E/AndroidRuntime(9809): at android.app.ActivityThread.main(ActivityThread.java:4511)
02-02 16:01:58.230: E/AndroidRuntime(9809): at java.lang.reflect.Method.invokeNative(Native Method)
02-02 16:01:58.230: E/AndroidRuntime(9809): at java.lang.reflect.Method.invoke(Method.java:511)
02-02 16:01:58.230: E/AndroidRuntime(9809): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
02-02 16:01:58.230: E/AndroidRuntime(9809): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
02-02 16:01:58.230: E/AndroidRuntime(9809): at dalvik.system.NativeStart.main(Native Method)
02-02 16:01:58.230: E/AndroidRuntime(9809): Caused by: java.lang.NullPointerException
02-02 16:01:58.230: E/AndroidRuntime(9809): at com.pearmak.drawing.ActivityA.onCreate(ActivityA.java:102)
02-02 16:01:58.230: E/AndroidRuntime(9809): at android.app.Activity.performCreate(Activity.java:4470)
02-02 16:01:58.230: E/AndroidRuntime(9809): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1052)
02-02 16:01:58.230: E/AndroidRuntime(9809): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1931)
02-02 16:01:58.230: E/AndroidRuntime(9809): ... 11 more

最佳答案

我猜你正试图从一个不是你的 Activity 类的类中调用 startActivity()startActivity() 方法属于 Context 类,因此您需要从 Activity 中调用它(它扩展了 Context) 或将 Context 的实例传递给此类并使用 context.startActivity() 调用。希望这会有所帮助。

关于android startActivity 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14659656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com