java - Android 无法解析构造函数 LineViewGraph

标签 java android android-fragments constructor android-activity

我正在尝试在一个 fragment 中测试这个 GraphView 库。此行 graphView = new LineGraphView(this, message); 上有错误,如下所示:

Cannot resolve constructor LineGraphView

不确定如何引用正确的上下文。

这里是库示例演示的链接。

https://github.com/jjoe64/GraphView-Demos/blob/master/src/com/jjoe64/graphviewdemos/SimpleGraph.java

import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.jjoe64.graphview.GraphView;
import com.jjoe64.graphview.GraphViewSeries;
import com.jjoe64.graphview.GraphView.GraphViewData;
import com.jjoe64.graphview.LineGraphView;


public class GraphFragment extends Fragment {
public static final String EXTRA_MESSAGE = "EXTRA_MESSAGE";

public static final GraphFragment newInstance(String message)
{
    GraphFragment f = new GraphFragment();
    Bundle bdl = new Bundle(1);
    bdl.putString(EXTRA_MESSAGE, message);
    f.setArguments(bdl);
    return f;
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    String message = getArguments().getString(EXTRA_MESSAGE);
    View v = inflater.inflate(R.layout.graphfragment_layout, container, false);
    TextView messageTextView = (TextView)v.findViewById(R.id.textView);
    messageTextView.setText(message);

    GraphViewSeries exampleSeries = new GraphViewSeries(new GraphView.GraphViewData[] {
            new GraphViewData(1, 2.0d)
            , new GraphViewData(2, 1.5d)
            , new GraphViewData(3, 2.5d)
            , new GraphViewData(4, 1.0d)
    });

    GraphView graphView;
    graphView = new LineGraphView(this, message);
    graphView.addSeries(exampleSeries); // data

    LinearLayout layout = (LinearLayout) v.findViewById(R.id.graph1);
    layout.addView(graphView);

    return v;
}

最佳答案

更改为:

 graphView = new LineGraphView(container.getContext(), message);

Activity 扩展 context 但 fragment 不会这样,每当您尝试将 fragment 附加到其父 ViewGroup 布局(其中 fragment 是显示)被传递给 onCreateView,您可以从中获取上下文。

关于java - Android 无法解析构造函数 LineViewGraph,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21326875/

相关文章:

java - 我的程序无论如何都会增加一个值

java - 如何返回通用 ArrayList<T>

java - 如何使用 gradle 正确地向另一个项目添加依赖项?

android - picasso 大图下载

Android:导航组件不能同时使用:<navigation> 和 NavigationItemSelectedListener

java - 如何多次使用同一个 fragment ?

java - OpenIDE 的查找因 Gephi Controller 对象而失败

android - EditText 的椭圆大小

java - 该 fragment 中的 `GC_BEFORE_OOM` 是什么?

android - Activity 默认加载的 fragments 的 Transition