为什么意图不能正常运作? MainActivity是一个图表,最初绘制了一个数组中的一行(series1Numbers)。我有另一个类(Main2Activity),带有一个微调器,我想在MainActivity中填充(series1numbers)数组,从而生成我的图形。目前(series1numbers)的图形行是空白的,这很有意义,因为我无法弄清楚如何使用(Main2Activity)中的单个数字填充它。我已经搜索过并且没有找到这个问题的点。
主要Activity.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);
}
}
答案 0 :(得分:1)
Bundle b=new Bundle();
b.putStringArray(key, new String[]{value1, value2});
Intent i=new Intent(context, Class);
i.putExtras(b);
为了阅读:
Bundle b=this.getIntent().getExtras();
String[] array=b.getStringArray(key);
希望这会对你有所帮助。 :)
有关详细信息,请参阅this。