В моем приложении я переключаю вид двух разных графиков.В первый раз график рисуется идеально, но когда я перехожу к другому и возвращаюсь, он выглядит так, как будто он рисует два раза один и тот же график, но разных размеров, и как только вы щелкаете по графику, он меняется и выглядит идеально.
Экран, когда он выглядит проводным, выглядит так:
Код, который рисует график, всегда один и тот же.Эта функция:
private void downloadInfo(String app, String object) {
// Display flow graph
//
String query = "Select name from relation where obj_app = '" + app
+ "' and obj_name = '" + object
+ "' and obj_type = 1 and type= 22";
String data = "name";
String comparateur = new DataBaseAccess().execute(query, data);
String compAux[] = comparateur.split("&");
query = "Select * from data_1h where app = '" + app
+ "' and obj_name = '" + compAux[0] + "' and obj_type= 22";
String file = new DataBaseAccess().execute(query, "file-date");
String[] fileAux = file.split("&");
date = fileAux[1];
GraphicalView mChartView = new DebitGraph().execute(ShowGraph.this,
fileAux[0], fileAux[1], compAux[0], object);
RelativeLayout layout = (RelativeLayout) findViewById(R.id.graph1);
layout.removeAllViews();
Display display = getWindowManager().getDefaultDisplay();
RelativeLayout.LayoutParams paramsForChart1 = new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT);
// paramsForChart1.bottomMargin = 25;
layout.addView(mChartView, paramsForChart1);
// Display Meteo graph
query = "Select name from relation where obj_app = '" + app
+ "' and obj_name = '" + object
+ "' and obj_type = 1 and type= 20";
data = "name";
String station = new DataBaseAccess().execute(query, data);
String stationAux[] = station.split("&");
query = "Select * from data_1h where app = '" + app
+ "' and obj_name = '" + stationAux[0] + "' and obj_type= 20";
data = "file-date";
file = new DataBaseAccess().execute(query, data);
fileAux = file.split("&");
GraphicalView mChartView2 = new Meteo().execute(ShowGraph.this,
fileAux[0], fileAux[1], stationAux[0], prec, temp);
RelativeLayout.LayoutParams paramsForChart2 = new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT);
layout = (RelativeLayout) findViewById(R.id.graph2);
layout.removeAllViews();
// paramsForChart2.bottomMargin = 25;
layout.addView(mChartView2, paramsForChart2);
// Display check boxes for temperature and precipitation
RelativeLayout check = (RelativeLayout) findViewById(R.id.checks);
check = (RelativeLayout) findViewById(R.id.checks);
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout checkbox = (LinearLayout) inflater.inflate(
R.layout.checkboxes, null);
check.addView(checkbox);
// Update text bar text with meteo info
/*
* TextView meteo = (TextView) findViewById(R.id.meteo);
* meteo.setText("Méteo " + stationAux[0] + " " + fileAux[1]);
* meteo.setTextColor(Color.BLACK); meteo.setTextSize(14);
*/
if (MyDialog.isShowing()) {
MyDialog.dismiss();
}
}
Я также изменил библиотеку achartengine, чтобы изменить кнопки масштабирования, но не более того!
В моем logCat я получаю это предупреждение каждый раз, когда экран сходит с ума:
03-13 12:01:16.767: W/InputManagerService(229): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@2b1fb958
Я искал эту ошибку на форуме, но любой из найденных ответов полезен!
Для получения дополнительной информации, похоже, у меня такая же проблема, как этаpost:
Achartengine: перерисовка графа поверх обычного графа
Но когда я комментирую свой onResume (), проблема не исчезает!
Есть идеи?Спасибо!