gpt4 book ai didi

java - 使用 Android 操作栏上的按钮调用方法

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

我现在有两个类,MainActivityDrawViewDrawView 工作正常并创建了一个允许我画线的 Canvas 。我不知道该怎么做的是,当我单击放置在操作栏上的按钮时,它会将 Canvas 上绘制的任何内容保存为图像。

我不知道如何使用我的 MainActivity 类中的以下代码段。我是否需要创建一个包含方法的新类,或者我可以在 MainActivity 类中创建该方法(相对于“//method goes here”这一行)?我还假设我必须从 DrawView 中检索 Canvas 对象,并将其作为参数传递给该方法。当它位于 DrawView 对象中时,我该怎么做?

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
drawView = new DrawView(this);
setContentView(drawView);
drawView.requestFocus();
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle presses on the action bar items
switch (item.getItemId()) {
case R.id.action_save:
//method goes here
return true;
default:
return super.onOptionsItemSelected(item);
}
}

最佳答案

创建一个名为 drawView 的字段,它是私有(private)的但在整个类中都可以访问,如下所示:

private DrawView drawView;

像您现在所做的那样在 onCreate 方法中设置它:

drawView = new DrawView(this);

现在您可以在 onOptionsItemSelected 方法中访问 drawView 变量。这意味着您可以访问该类中的所有公共(public)变量。如果将绘制路径存储在公共(public)变量中,则可以访问它。您可以通过将 Canvas 设为 DrawView 类中的公共(public)字段来实现。就像您在 MainActivity 类中将 DrawView 设置为私有(private)字段一样。

您应该能够像这样访问 Canvas 。

在 DrawView 中创建字段:

public Canvas canvas;

你可以像这样访问它:

drawView.canvas;

关于java - 使用 Android 操作栏上的按钮调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20760676/

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