현재 활동에서 이전 활동의 선택한 주식 종가의 그래프 (Androidplot 사용)를 인쇄하고 있습니다.
이 활동에는 사용자가 중첩 할 수있는 지표 목록이 있습니다.
이제이 새로운 선택 항목을 사용하여 그래프를 다시 그려야합니다.
onItemSelected 페이지를 새로 고침/다시로드하려고 시도했지만 사용자 입력을 기다리지 않고 페이지를 새로 고치게합니다.Spinner에서 선택한 항목을 기준으로 활동 업데이트
public class DispGraph extends Activity {
private XYPlot plotstock;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.graph);
// PRINTING SELECTED STOCK_NAME
Bundle bundle = getIntent().getExtras();
String sname = bundle.getString("SN");
TextView t = (TextView) findViewById(R.id.textView1);
t.setText(sname);
// INDICATOR LIST
Spinner spinner = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.Indicators, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
String iname = spinner.getSelectedItem().toString();
spinner.setOnItemSelectedListener(new OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
startActivity(getIntent());
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}});
//PASSING STOCK-TICKER & INDICATOR TO PHP
// PLOTTING GRAPH
plotstock = (XYPlot) findViewById(R.id.mySimpleXYPlot);
Number[] series1Numbers = ind;
Number[] series2Numbers = closing;
XYSeries series1 = new SimpleXYSeries(Arrays.asList(series1Numbers),SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, iname);
XYSeries series2 = new SimpleXYSeries(Arrays.asList(series2Numbers),SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, "Closing Price");
plotstock.setDomainLabel("Date");
plotstock.setRangeLabel("Price");
plotstock.addSeries(series1,new LineAndPointFormatter(Color.rgb(0, 200, 0), Color.rgb(0,100, 0), null, new PointLabelFormatter(Color.TRANSPARENT)));
plotstock.addSeries(series2,new LineAndPointFormatter(Color.rgb(0, 0, 200), Color.rgb(0, 0, 100),null, new PointLabelFormatter(Color.TRANSPARENT)));
plotstock.setTicksPerRangeLabel(2);
}
}
이미 시도해 보았습니다. 첫 번째로 선택된 'Iname'(표시기)과 같은 그래프가 계속 표시됩니다. – OnDroid
당신은 당신의 iname 변수를 변경하지 않습니다. onItemSelected 메서드 안에서 시도해보십시오. 'iname = arg0.getItemAtPosition (arg2) .toString()' –
이봐 요, 고마워요.하지만 실제로 작동하지 않았어요. 그냥 목록보기를 팝업으로 만들었어요. – OnDroid