View 无法将空子视图添加到视图组

View 无法将空子视图添加到视图组,view,runtimeexception,viewgroup,View,Runtimeexception,Viewgroup,我正在尝试一个练习来列出一个获取传感器信息的列表,但是我得到了标题错误,我没有太多关于它的信息,有人能帮我吗 演习说: 此活动使用从XML创建的布局,它基本上是一个空的linearlayout“。在布局中,我们将根据设备中发现的传感器添加一系列视图。为每个传感器添加:带有传感器名称的文本视图;水平类型的线性布局包含:带“X”的文本视图和该轴上的传感器值;传感器值为“Y”的文本视图;如果适用,具有轴“Z”值的文本视图。值所在的TextView的引用​​所显示的传感器的数量存储在aTextView[

我正在尝试一个练习来列出一个获取传感器信息的列表,但是我得到了标题错误,我没有太多关于它的信息,有人能帮我吗

演习说:

此活动使用从XML创建的布局,它基本上是一个空的linearlayout“。在布局中,我们将根据设备中发现的传感器添加一系列视图。为每个传感器添加:带有传感器名称的文本视图;水平类型的线性布局包含:带“X”的文本视图和该轴上的传感器值;传感器值为“Y”的文本视图;如果适用,具有轴“Z”值的文本视图。值所在的TextView的引用​​所显示的传感器的数量存储在aTextView[]阵列中,其中第一个索引标识传感器编号,第二个索引标识尺寸X、Y、Z

onSensorChanged()
方法循环定位已更改的传感器索引,并使用这些值修改与传感器对应的文本视图​​阅读“

这是我的布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/raiz"
android:orientation="vertical">
</LinearLayout>
下面是完整的练习代码


经过一段时间的查看和阅读,我发现了一个或多个错误

首先是:

for(int i = 0; i<2; i++){
            aTextView[n][i] = new TextView(this);
            aTextView[n][i].setText("?");
            aTextView[n][i].setWidth(87);
        }
TextView zTextView = new TextView(this);
        zTextView.setText(" Z: ");
        nLinearLayout.addView(zTextView);
        nLinearLayout.addView(aTextView[n][2]);
该行:

nLinearLayout.addView(aTextView[n][2]);
正在发送空值,导致错误“无法将空子视图添加到视图组”

然后,当我将值返回到“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++;
        }
传感器(传感器:列表传感器)的
{
if(事件传感器==传感器){
对于(int i=0;i
nLinearLayout.addView(aTextView[n][2]);
        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++;
        }
        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>