Не удалось выполнить метод действия

Я пишу свое первое графическое приложение и следил за онлайн-учебником. Я использую AChartEngine, и у меня есть основное действие, на котором есть кнопка. Когда кнопка нажата, предполагается, что графические данные передаются ей, однако, когда кнопка нажата, приложение вылетает, и я получаю uncaught thread exception вместе с Could not execute main activity. Мое приложение дает сбой, потому что мне нужно полностью отдельное действие для отображения графика? Я думал, что могу просто сбросить главный экран, чтобы показать график после нажатия кнопки.

05-07 18:44:10.720: W/dalvikvm(9057): threadid=1: thread exiting with uncaught exception (group=0x417bb898)
05-07 18:44:10.730: E/AndroidRuntime(9057): FATAL EXCEPTION: main
05-07 18:44:10.730: E/AndroidRuntime(9057): java.lang.IllegalStateException: Could not execute method of the activity
05-07 18:44:10.730: E/AndroidRuntime(9057):     at android.view.View$1.onClick(View.java:3852)
05-07 18:44:10.730: E/AndroidRuntime(9057):     at android.view.View.performClick(View.java:4489)

Вот моя основная деятельность

package com.OhYea.graphthis;

import android.support.v7.app.ActionBarActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;

public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


}

public void LineGraphHandler (View view)
{
    LineGraph line = new LineGraph();
    Log.i("newgraph", "Line Graph");
    Intent lineIntent = line.getIntent(this);
    Log.i("get intent", "get intent");
    startActivity(lineIntent);
    Log.i("start activity", "activity started");
}

}

Вот моя активность, которая передает данные в основную активность для отображения.

package com.OhYea.graphthis;

import org.achartengine.ChartFactory;
import org.achartengine.model.TimeSeries;
import org.achartengine.model.XYMultipleSeriesDataset;
import org.achartengine.renderer.XYMultipleSeriesRenderer;
import org.achartengine.renderer.XYSeriesRenderer;

import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class LineGraph {

public Intent getIntent(Context context)
{
    int[] x ={1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    int[] y ={30,34,45,57,77,89,100,111,123,145};

    TimeSeries series = new TimeSeries  ("Line1");
    for( int i =0; i< x.length; i++)
    {
        series.add(x[i] , y[i]);
    }

    XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
    dataset.addSeries(series);

    XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();
    XYSeriesRenderer renderer = new XYSeriesRenderer();
    mRenderer.addSeriesRenderer(renderer);


    Log.i("passing graph data", "Pass data to graph");
    Intent intent = ChartFactory.getLineChartIntent(context, dataset, mRenderer, "Title");


    return intent;
}


}

person wannabe    schedule 08.05.2014    source источник


Ответы (1)


Я не вижу прослушивателя нажатия кнопки в вашем коде.

Вы определяете метод щелчка в XML-файле макета так же, как в этом примере?

Если это так, вам понадобится метод «Сделай это»! И это метод, который он ищет.

person Garret    schedule 08.05.2014