繁体   English   中英

访问LinearLayout中的TextView

[英]Access to a TextView within a LinearLayout

对于我的Android应用程序,我必须定义一个包含三个空白TextView的特定布局。 接下来,我要修改这些TextView的内容,然后以编程方式将此LinearLayout追加到另一个LinearLayout。 我的问题是,当我尝试在内部Layout中引用TextView时,出现了NULL指针异常。

这是我的内部布局

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:weightSum="3"
    android:id="@+id/firstRowLinearLayout">

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="left"
        android:textStyle="bold"
        android:id="@+id/matchTextView"
        android:background="#ffffff"
        android:textColor="#000000" />

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center_horizontal"
        android:textStyle="bold"
        android:id="@+id/resultTextView"
        android:background="#ffffff"
        android:textColor="#000000" />

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="right"
        android:textStyle="bold"
        android:id="@+id/quoteTextView"
        android:background="#ffffff"
        android:textColor="#000000" />

</LinearLayout>

这是我尝试访问此布局内的TextView的代码:

LinearLayout couponLinearLayout = (LinearLayout)  findViewById(R.id.couponLinearLayout);   // outer layout

        LinearLayout test = (LinearLayout) findViewById (R.id.firstRowLinearLayout);      // layout to be added to the outer one

        TextView first_field = (TextView) test.findViewById(R.id.matchTextView);
(R.id.resultTextView);

        first_field.setText("TEST");

        couponLinearLayout.addView(test);

正如我所说,使用此代码时,我定义TextView时得到了NULL指针异常。 希望你能帮助我!

您的代码应该是这样的,您忘了夸大内部布局

LinearLayout couponLinearLayout = (LinearLayout)  findViewById(R.id.couponLinearLayout);   // outer layout
 LayoutInflater inflater = (LayoutInflater) activity
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View convertView = inflater.inflate(R.layout.inner_layout,
                            null);
        LinearLayout test = (LinearLayout) convertView.findViewById (R.id.firstRowLinearLayout);      // layout to be added to the outer one

        TextView first_field = (TextView) convertView.findViewById(R.id.matchTextView);


        first_field.setText("TEST");

        couponLinearLayout.addView(test);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM