- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 OOP 新用户。
我有一个关于 Android 的简单问题。
我想使用
new DrawMonthLineChart(titles, x, y).getChartView()
获取折线图 View 。
(如果我在主代码中合并图表代码文件,则折线图代码是正确的)
我将绘图部分保存到独立文件中。
但是这里会显示错误。(如下)
View chart = ChartFactory.getCubeLineChartView( this, dataset, renderer, 0.14f);
下面是错误信息:
The method getCubeLineChartView(Context, XYMultipleSeriesDataset, XYMultipleSeriesRenderer, float) in the type ChartFactory is not applicable for the arguments (DrawMonthLineChart, XYMultipleSeriesDataset, XYMultipleSeriesRenderer, float)
我认为问题是“this”不意味着上下文。
我不知道如何将“this”修复为某些内容。
有人可以帮我吗?
非常感谢。
我的主要代码如下:
package net.test.achartenginedemo;
import java.util.ArrayList;
import java.util.List;
import org.achartengine.ChartFactory;
import org.achartengine.chart.PointStyle;
import org.achartengine.model.XYMultipleSeriesDataset;
import org.achartengine.model.XYSeries;
import org.achartengine.renderer.XYMultipleSeriesRenderer;
import org.achartengine.renderer.XYSeriesRenderer;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.Paint.Align;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.LinearLayout;
public class AchartengineMain extends Activity {
private LinearLayout ll ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_achartengine_main);
ll = (LinearLayout) findViewById(R.id.chartLL);
String[] titles = new String[] { "line1"};
List<double[]> x = new ArrayList<double[]>();
List<double[]> y = new ArrayList<double[]>();
x.add(new double[] { 1, 2.2, 3.4, 4.6, 5.8, 10 });
y.add(new double[] { 80, 78, 75, 82, 75, 78 });
ll.addView(new DrawMonthLineChart(titles, x, y).getChartView(), new LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.achartengine_main, menu);
return true;
}
}
我的drawMonthChart代码如下:
package net.test.achartenginedemo;
import java.util.List;
import org.achartengine.ChartFactory;
import org.achartengine.chart.PointStyle;
import org.achartengine.model.XYMultipleSeriesDataset;
import org.achartengine.model.XYSeries;
import org.achartengine.renderer.XYMultipleSeriesRenderer;
import org.achartengine.renderer.XYSeriesRenderer;
import android.graphics.Color;
import android.graphics.Paint.Align;
import android.view.View;
public class DrawMonthLineChart {
private String[] titles = new String[] { "line1" };
private List<double[]> x;
private List<double[]> y;
public DrawMonthLineChart( String[] titles, List<double[]> x , List<double[]> y){
this.titles = titles;
this.x = x;
this.y = y;
}
public View getChartView()
{
XYMultipleSeriesDataset dataset = buildDaset(titles, x, y);
int[] colors = new int[] { Color.BLUE };
PointStyle[] styles = new PointStyle[] { PointStyle.CIRCLE};
XYMultipleSeriesRenderer renderer = buildRenderer(colors, styles, true);
setChartSettings(renderer, "line chart test", "", "", 50, 200,-1, 13,
Color.BLACK,x);
// ------------------***************here*******-------------
View chart = ChartFactory.getCubeLineChartView( this, dataset, renderer, 0.14f);
// ------------------***************here*******-------------
return chart;
}
private XYMultipleSeriesDataset buildDaset(String[] titles,
List<double[]> xValues, List<double[]> yValues) {
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
int length = titles.length;
for (int i = 0; i < length; i++) {
XYSeries series = new XYSeries(titles[i]);
double[] xV = xValues.get(i);
double[] yV = yValues.get(i);
int seriesLength = xV.length;
for (int k = 0; k < seriesLength; k++) {
series.add(xV[k], yV[k]);
}
dataset.addSeries(series);
}
return dataset;
}
private XYMultipleSeriesRenderer buildRenderer(int[] colors,
PointStyle[] styles, boolean fill) {
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
int length = colors.length;
for (int i = 0; i < length; i++) {
XYSeriesRenderer r = new XYSeriesRenderer();
r.setColor(colors[i]);
r.setPointStyle(styles[i]);
r.setFillPoints(fill);
r.setLineWidth(2.5f);
renderer.addSeriesRenderer(r);
}
return renderer;
}
private void setChartSettings(XYMultipleSeriesRenderer renderer,
String title, String xTitle, String yTitle, double yMin,
double yMax, double xMin, double xMax, int axesColor, List<double[]> x) {
renderer.setChartTitle(title);
renderer.setChartTitleTextSize(24);
renderer.setXTitle(xTitle);
renderer.setYTitle(yTitle);
renderer.setXAxisMin(xMin);
renderer.setXAxisMax(xMax);
renderer.setYAxisMin(yMin);
renderer.setYAxisMax(yMax);
renderer.setYLabels(18);
renderer.setXLabelsColor(axesColor);
renderer.setLabelsColor(Color.BLACK);
renderer.setShowGrid(true);
renderer.setClickEnabled(false);
renderer.setShowCustomTextGrid(true);
renderer.setShowGridY(true);
}
}
最佳答案
错误消息说明了一切:
Method needs: (Context, XYMultipleSeriesDataset, XYMultipleSeriesRenderer, float)
Method gets:(DrawMonthLineChart, XYMultipleSeriesDataset, XYMultipleSeriesRenderer, float)
您的 DrawMonthLineChart
类以 Object
作为父级,但必须以 Context
作为祖先。
因此你需要类似的东西
public class DrawMonthLineChart extends Context {
或
public class DrawMonthLineChart extends Activity {
或者适当的东西。请参阅docs .
关于java - 如何在Achartengine(Android)中分离主代码和图表代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16955861/
我在尝试使用 jpa2.0 将包含持久实体和分离实体(新创建的实体)的实体列表更新到我的数据库中时遇到错误。 我的实体包含在合并数据时出现错误(在标题中提到)的内部实体: Class supercla
我在分层 Pane 中有一组面板。我需要一个分隔符来将 sideBar 与 topBar 和 tabbedPanel 分开。我留了一个 10 像素的缓冲区来放置它。不幸的是,可能由于它是 JLayer
在我从数据库中读取的代码中,我还使用自定义适配器打印出每一行,该行中有一个 texttview、2 个按钮和一个 edittext。这一切都很好,但是当按下按钮时,edittext 会递增或递减,有没
我有一个由 Hibernate 4.3.4 管理的实体,它有一个其他实体的一对多集合。 在我的处理过程中,我必须分离父实体(将分离级联到子列表)。但是,当我向列表中添加一个尚未持久化的新项目并执行分离
我想追加一行,该行应该是表格的最后一行。在我的代码中,它似乎在第一次动态添加行时起作用。但是当添加其他行时它不会成为最后一行。 我总是希望“subtot”行成为最后一行,但是当我追加其他行时,它不
我试图用它们之间的空格分隔这 2 个 div(请参见图 1)。问题是当我添加边距或填充时会发生这种情况(请参见图 2)。 这是我的代码,请注意我没有使用 Bootstrap: .row { mar
我的服务器包含一些 ServerActor。该 actor 接收 RegisterClient 消息并将 ActorRefs 添加到已注册客户端列表中。 我还有多个客户端,每个客户端都包含 Clien
假设我有一个需要两个参数的函数,并且参数的顺序会影响结果。 是否可以将第一个参数传递给 partial 或 comp 函数,然后将另一个参数传递给它,如下所示: (defn bar [arg1 arg
如何搜索和分离多个后代键。 例子: (def d {:foo 123 :bar { :baz 456 :bam { :w
我正在尝试为 Slick 表创建一个类型安全的动态 DSL,但不确定如何实现这一点。 用户可以通过以 form/json 格式发送过滤器来将过滤器发布到服务器,我需要使用所有这些来构建一个 Slick
我是新来的,我发现看到充满大量函数和变量初始化以及 UI 的组件时眼睛很痛。是否可以将它们分开? 而不是默认设置,如下所示。如何将业务逻辑分离到另一个文件中? function MyComponent
我试图通过将参数粘贴在一起来使用分离。这应该是一件容易的工作,但不适合我。当我想到使用 eval(parse()) 时,我知道是时候寻求帮助了 通常,如果我加载一个包,我可以按如下方式分离它: det
(dissoc :a m)允许我解除给定的键。但是,有没有办法使用谓词函数来分离 pred 为真的任何键? (dissoc-with-pred pred? m) 所以给了一张 map - {:a 2
我编写了一个使用 devtools 来包含内部数据的包: devtools::use_data(.data, internal = T, overwrite = T) 我最近更改了该数据并重建了包。我
所以我有一个脚本,我想在我的服务器上运行它而不会打扰我。所以我想我会在 tmux 窗口中运行服务器,然后 detach这样我就可以简单地 attach如果我想查看进度(此脚本需要数天才能运行)。 但是
ThreeJS中动画数据和模型数据是否可以解耦? 这样就可以交换模型并保留动画?我认为这可能非常强大 我知道如何在 ThreeJS 中做到这一点的方法是将每个动画一个接一个地打包在一个模型中,这似乎是
我有一堆(Ruby)脚本存储在服务器上。到目前为止,我的团队通过打开一个启动脚本名称列表的访问器应用程序来使用它们,然后他们在工作文件夹中的文件上选择要在该实例中运行的脚本。脚本直接从服务器运行,因此
我想知道 javascript 如何包含在 jsp 中 - 我们是否可以在 .js 文件中放置 jsp 能够识别的任何代码,而不仅仅是 javascript 代码? 我有一些常见的 JavaScrip
您是否可以在 Dockerfile 中指定一个选项,默认使用它构建的容器以分离方式运行。 这将导致与 -d 相同的结果: docker run -d 这样 docker run 默认情况下会分离运
我正在为现有的 Java 程序开发 Java 插件。现有程序使用特定版本的 eclipse.uml2.*,我的插件也是如此。不幸的是,我的插件需要更新版本。 为了运行该插件,我需要将其导出到 Jar
我是一名优秀的程序员,十分优秀!