我有一个程序可以根据用户数据进行一些计算。该程序运行良好,但是当我尝试使用 achartengine 来制作情节时,它崩溃了。(不做情节)
我不确定我是否在 LineGraph 类中正确传递数据。
据我了解,我必须使用
“Bundle sth=getIntent.getExtras()”,但我不确定将它放在 LineGraph 的哪个位置。
我有 number_cores 类,用户在其中输入数据,然后按下计算按钮,并在另一个活动中显示结果。在这方面,我有:
public void cores_func(){
double initcores=Double.parseDouble(num_cores.getText().toString().trim());
double half_time=Double.parseDouble(halftimecores.getText().toString().trim());
double ttime=Double.parseDouble(timecores.getText().toString().trim());
double l=Math.log(2)/half_time;
double fcores=initcores*Math.exp(-l*ttime);
Intent i=new Intent(this,core_calcs.class);
i.putExtra("value",fcores);
i.putExtra("value2",initcores);
startActivity(i);
}
然后,在 core_calcs 类中(从上面的意图可以看出),我显示了结果,并且我添加了一个按钮,当用户单击它时,显示图表(现在,它在这里崩溃)。
我在 onCreate 方法中有 (core_calcs) :
double fcores=getIntent().getExtras().getDouble("value");
double initcores=getIntent().getExtras().getDouble("value2");
进而 :
public void onClick(View v) {
switch (v.getId()){
case R.id.show_cores_graph:
double fcores=getIntent().getExtras().getDouble("value");
double initcores=getIntent().getExtras().getDouble("value2");
Intent i = new Intent();
i.setClassName("com.wordpress.androiddevgeo.Radiation",LineGraph.class.getName());
i.putExtra("value", fcores);
i.putExtra("value2", initcores);
this.startActivity(i);
break;
}
}
(另外,我在这里有公共 void LineGraphHandler (查看视图))
最后,在 LineGraph 类中(上面的意图):
public class LineGraph extends Activity {
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
Bundle extras=getIntent().getExtras();
String fcores=extras.getString("value");
String initcores=extras.getString("value2");
}
public Intent getIntent(Context context){
//double ttime=getIntent(context).getExtras().getDouble("value");
double [] x = {0,100}; //time axis
double [] y = {initcores,fcores}; //number of cores axis
TimeSeries series = new TimeSeries("Number of cores");
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);
Intent intent=ChartFactory.getLineChartIntent(context, dataset, mRenderer,"Decay");
return intent;
}
}
如何将数据(initcores 和 fcores)传递给 LineGraph?
--------错误信息---------------------------- -----
W/dalvikvm(734): threadid=3: 线程以未捕获的异常退出
(group=0x4000fe70) 01-15 18:42:01.334: E/AndroidRuntime(734): Uncaught handler: thread main 由于未捕获异常而退出
E/AndroidRuntime(734): android.content.ActivityNotFoundException: 找不到明确的活动类
您是否在 AndroidManifest.xml 中声明了此活动?
(我已经声明了 LineGraph 的活动以及“org.achartengine.GraphicalActivity”)谢谢!