インテントが正しく機能しないのはなぜですか? MainActivity は、配列 (series1Numbers) からの行の 1 つを最初にプロットしたグラフです。別のクラス (Main2Activity) に別のクラス (Main2Activity) があり、スピナーを使用して MainActivity の (series1numbers) 配列にデータを入力し、グラフを生成します。現在、(series1numbers) のグラフ ラインは空白です。これは、(Main2Activity) からの単一の数値を入力する方法を理解できていないため、非常に理にかなっています。検索して検索しましたが、この問題の点をつなぐことができませんでした。
メイン アクティビティ.java
package com.example;
import java.util.Arrays;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import com.androidplot.series.XYSeries;
import com.androidplot.xy.LineAndPointFormatter;
import com.androidplot.xy.SimpleXYSeries;
import com.androidplot.xy.XYPlot;
/**
* The simplest possible example of using AndroidPlot to plot some data.
*/
public class MainActivity extends Activity
{
private XYPlot mySimpleXYPlot;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent intename = getIntent();
String name = (String) intename.getSerializableExtra("series1Numbers");
// initialize our XYPlot reference:
mySimpleXYPlot = (XYPlot) findViewById(R.id.mySimpleXYPlot);
// Create a couple arrays of y-values to plot:
Number[] series1Numbers ={name};
Number[] series2Numbers = {-4, -4, -5, -4, -4, -4, -3, -7, -4, -2, -4, -5, -5, -5};
// Turn the above arrays into XYSeries':
XYSeries series1 = new SimpleXYSeries(Arrays.asList(series1Numbers),
// SimpleXYSeries takes a List so turn our array into a List
SimpleXYSeries.ArrayFormat.Y_VALS_ONLY,
// Y_VALS_ONLY means use the element index as the x value
"Series1");
// Set the display title of the series
// same as above
XYSeries series2 = new SimpleXYSeries(Arrays.asList(series2Numbers), SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, "Series2");
// Create a formatter to use for drawing a series using LineAndPointRenderer:
LineAndPointFormatter series1Format = new LineAndPointFormatter(
Color.rgb(0, 200, 0), // line color
Color.rgb(0, 100, 0), // point color
null); // fill color (none)
// add a new series' to the xyplot:
mySimpleXYPlot.addSeries(series1, series1Format);
// same as above:
mySimpleXYPlot.addSeries(series2,
new LineAndPointFormatter(Color.rgb(0, 0, 200), Color.rgb(0, 0, 100), null));
// reduce the number of range labels
mySimpleXYPlot.setTicksPerRangeLabel(3);
// by default, AndroidPlot displays developer guides to aid in laying out your plot.
// To get rid of them call disableAllMarkup():
mySimpleXYPlot.disableAllMarkup();
}
Main2Activity.java
package com.example;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.AdapterView.OnItemSelectedListener;
public class Main2Activity extends Activity implements OnItemSelectedListener {
//TextView series1Numbers ;
Spinner spin;
String[] series1Numbers = { "-1", "-2", "-3", "-4", "-5",
"-6", "-7", "-8" , "-9" , "-10" };
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
//series1Numbers = (TextView) findViewById(R.id.series1Numbers );
Spinner spin = (Spinner) findViewById(R.id.spinner);
spin.setOnItemSelectedListener(this);
ArrayAdapter<String> aa = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, series1Numbers);
spin.setAdapter(aa);
}
@Override
public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
// TODO Auto-generated method stub
// series1Numbers .setText(items[position]);
if (position == 1){
Intent intentObj = new Intent(Main2Activity.this, MainActivity.class);
intentObj.putExtra("series1Numbers", series1Numbers);
startActivity(intentObj);
}
}