2

我对 android 世界很陌生,来自大量服务器端编程的背景。非常小的Java。

我正在开发一个应用程序,其中需要两个片段,一个在左侧显示导航,一个在右侧,显示内容。我的第一个主要挑战是使用 acharengine 使其中一个导航链接打开一个图表。

我有一个来自 achartengine 的示例,我一直在这里关注:achartengine 示例

我一直在关注 google 提供的 Android Developer 应用程序演示:Fragment Basics

我正在使用该示例,并使用该现有代码简单地构建所有内容。到目前为止,我已将实际内容显示范围缩小到 ArticleFragment.java 中的这段代码:

这是 onStart 发生的情况:

public void onStart() {
    super.onStart();

    // During startup, check if there are arguments passed to the fragment.
    // onStart is a good place to do this because the layout has already been
    // applied to the fragment at this point so we can safely call the method
    // below that sets the article text.
    Bundle args = getArguments();
    if (args != null) {
        // Set article based on argument passed in
        updateArticleView(args.getInt(ARG_POSITION));
    } else if (mCurrentPosition != -1) {
        // Set article based on saved instance state defined during onCreateView
        updateArticleView(mCurrentPosition);
    }
}

public void updateArticleView(int position) {

    TextView article = (TextView) getActivity().findViewById(R.id.article);
    article.setText(Ipsum.Articles[position]);
    System.out.println("Position: " + position);
    mCurrentPosition = position;
}

这是 Ipsum.java 内部的内容:

package com.example.android.fragments;

公共类 Ipsum {

static String[] Headlines = {
    "Link One",
    "Link Two",
    "Link Three"
};


static String[] Articles = {
    "Link One\n\n Some Text...",
    "Link Two\n\n Some Text...",
    "Link Three\n\n Some Text..."
};

}

当您单击其中一个“链接”时,我希望图表显示在另一个片段中。我确信这很简单,并且由于缺乏语法知识,我尝试将 updateArticleView 中的代码修改为 textViews,但成功有限。

我尝试过搜索,并且有一些有用的示例,但它们都是从确切知道他/她在做什么的人的角度来看的。我对这个(大约 3 周左右)是全新的,所以请为我哑巴。谢谢你。

4

2 回答 2

5

在这个问题上花了几个小时后,我终于在 GitHub 上找到了答案。

请到这里,导航到 /src/org/elasticdroid/fragments/ChartFragment.java 就是这样。

您可以轻松地复制/粘贴此代码,并且只需很少玩它就可以很好地工作。

于 2012-10-05T16:47:50.630 回答
1

您可以在 youtube 上搜索 AChartEngine,您会在其中找到一些有关如何开始使用图表库的视频教程。

我还建议您在这里查看官方的 AChartEngine 演示。

另外,要回答您的问题,为了弄清楚如何将图表嵌入到带有其他组件的视图中,请参阅这篇文章

于 2012-09-06T06:25:09.610 回答