через некоторое время, просматривая и читая много, я обнаружил ошибку или ошибки ...
сначала в строках:
for(int i = 0; i<2; i++){
aTextView[n][i] = new TextView(this);
aTextView[n][i].setText("?");
aTextView[n][i].setWidth(87);
}
я использовал значение "i <2 «когда в упражнении написано« я <3 », это потому, что когда я выполнил упражнение в первый раз, я получал ошибку для« индекса за пределами », поэтому я подумал, что ошибка была в этой строке, поэтому я изменилЗначение de от «3» до «2» и было, когда я начал получать сообщение об ошибке (Невозможно добавить нулевое дочернее представление в ViewGroup). </p>
в любом случае, эта ошибка была из-за строк:
TextView zTextView = new TextView(this);
zTextView.setText(" Z: ");
nLinearLayout.addView(zTextView);
nLinearLayout.addView(aTextView[n][2]);
строка:
nLinearLayout.addView(aTextView[n][2]);
отправляла нулевое значение, что вызвало ошибку «Невозможно добавить нулевое дочернее представление в ViewGroup».
затем, когда я вернул значение «3», я получил ошибку «индекс за пределами», поэтому я сосредоточился на следующих строках:
for(Sensor sensor: listaSensores){
if(event.sensor==sensor){
for(int i = 0; i <event.values.length; i++){
aTextView[n][i].setText(Float.toString(event.values[i]));
}
}
n++;
}
, и ошибка была из-за того, что матрица определена в aTextViewбыло для 20x3, но "event.values.length" вернул значения больше 3, почему? Я не знаю ... Я неконечно, если это зависит от типа датчика или что-то еще, поэтому я добавил туда ограничение и скорректировал строки так:
for(Sensor sensor: listaSensores){
if(event.sensor==sensor){
for(int i = 0; i <event.values.length && i <3 ; i++){
aTextView[n][i].setText(Float.toString(event.values[i]));
}
}
n++;
}
и вуаля ... программа запускается ... наконец я настроил основной вид деятельностимакет на:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/raiz"
android:orientation="vertical">
</LinearLayout>
</ScrollView>
это потому, что на моем мобильном телефоне у меня много датчиков, и я не могу просмотреть все, поэтому я добавил ScrollView.
теперь с программой, выполняющей значенияизменяется очень быстро, и его невозможно прочитать, независимо от того, изменил ли я значение «SensorManager.SENSOR_DELAY_UI» на «SensorManager.SENSOR_DELAY_NORMAL» или другое ... так что я сейчас смотрю, как сделать эти изменения медленнее, ноТема этого поста может быть закрыта, я надеюсь, что это поможет другим ....