onButtonClcick
버튼을 입력하면 URL에서 데이터를 가져 오는 A 이 표시됩니다. 같은 번호로 AsyncTask
을 사용했습니다.OnPostExecute가 작동하지 않고 그래프를 그릴 수 없습니다. 에
나는 두 가지 접근 방식 사이에 갇혀있다. 내가 index
버튼 클릭에서 호출 postExecute()
에 afterload()
메서드를 호출 할 경우, 즉 그래프 아래 그림과 같이
1), 난 그냥 첫번째 스크린 샷을 받고 있어요는 표시 못하고있다.
afterload() 메서드가 호출되었지만 여전히 그래프가 표시되지 않았다는 것을 찾기 위해 디버깅했습니다.
2) afterload()
메서드를 postExecute()
에 전화하지 않는 경우. 대신 afterload()
메서드의 모든 내용을 onCreate()
메서드의 새 클래스 graphView
에 복사 한 다음 그래픽이 표시되는입니다. 두 번째 스크린 샷
but 다른 모든 기능은 ONCLICKLISTENERS와 같으며 필터링 목록 데이터는입니다. (두 번째 스크린 샷 테이블이 표시되지 않음에 유의하십시오). 이것은 두 번째 활동에서 setContentView()
을 사용하는 것이므로 레이아웃이 다시 시작되어 두 번째 활동이 시작됩니다.
아무 도움도 생명을 구하지 못할 것입니다 !!!
DataAttach.java
public class DataAttach extends Activity {
//ALL VARIABLES DECLARED
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
}
public void init() {
//ALL FINDBYVIEWID COMMANDS
DownloadWebPageTask task = new DownloadWebPageTask();
task.execute(new String[] { "http://abc.com/" });
ed.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence s, int start,
int before, int count) {
//filtering listview data
}
});
lsym.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
}
});
btnindex.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
mySimpleXYPlot.setVisibility(View.VISIBLE);
WebPageTask task1 = new WebPageTask();
task1.execute(new String[] { "http://pqr.com/" });
}
});
btngainer.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
DownloadWebPageTask task = new DownloadWebPageTask();
task.execute(new String[] { "http://xyz.com/" });
}
});
btnloser.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
DownloadWebPageTask task = new DownloadWebPageTask();
task.execute(new String[] { "http://ijk.com/" });
}
});
finally {
dbM.close();
}
}
private class DownloadWebPageTask extends AsyncTask<String, Void, String> {
//DO SOMETHING
}
@Override
protected void onPostExecute(String result) {
//DO SOMETHING
}
}
private class WebPageTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... urls) {
//FETCHING DATA FROM URL
}
@Override
protected void onPostExecute(String result) {
//POPULATING 'time' & 'current' ARRAYS
afterload(time, current);
//============================================================================
//============================================================================
//IF I USE BELOW COMMENTED CODE THEN IT DISPLAYS GRAPH BUT ALL THE ONCLICKLISTENERS DOESN'T WORK.
//============================================================================
//============================================================================
// Bundle b = new Bundle();
// b.putStringArray("time", time);
// b.putStringArray("current", current);
//
// Intent i = new Intent(getApplicationContext(), DrawGraph.class);
// i.putExtras(b);
// DataAttach.this.startActivity(i);
}
public void afterload(String[] time, String[] current) {
//POPULATING 'timenumber' & 'currentnumber' ARRAYS
Number[] series1Numbers = timenumber;
Number[] series2Numbers = currentnumber;
XYSeries series1 = new SimpleXYSeries(
Arrays.asList(series1Numbers),
Arrays.asList(series2Numbers), "Reliance");
LineAndPointFormatter series1Format = new LineAndPointFormatter(
Color.rgb(0, 200, 0), // line color
Color.rgb(0, 100, 0), // point color
Color.rgb(150, 190, 150)); // fill color (optional)
mySimpleXYPlot.addSeries(series1, series1Format);
mySimpleXYPlot.setTicksPerRangeLabel(2);
mySimpleXYPlot.setTicksPerDomainLabel(2);
mySimpleXYPlot.setRangeStep(XYStepMode.INCREMENT_BY_VAL, 1);
mySimpleXYPlot.setDomainStep(XYStepMode.SUBDIVIDE, 10);
mySimpleXYPlot.setDomainValueFormat(new MyDateFormat());
mySimpleXYPlot.disableAllMarkup();
}
}
public class MyDateFormat extends Format {
//CONVERTING DATE FORMAT
}
1ST & 2ND 스크린 샷 INDEX
버튼을 클릭 한 후 & 전에 가져옵니다. 후 부하() 메소드의 끝에
그래프를 다른 포함 된 레이아웃으로 옮길 수 있습니다. 목록 데이터를 플러시하지 않을 수도 있습니다. – Yahor10
어떤 종류의 ** mySimpleXYPlot **? – NOSTRA
@ NOSTRA XYPlot. 나는 안드로이드 음모를 사용하고 필요한 라이브러리를 가져 왔습니다. – GAMA