4

LinearLayoutを膨らませて、画面上にカスタマイズされたセクションを作成しようとしています。

String txt = "testing";
LinearLayout rowLink = (LinearLayout)getLayoutInflater().inflate(R.layout.additional_link, null);
TextView tvCsAddLink = (TextView)findViewById(R.id.tvCsAddLink);                                       
tvCsAddLink.setText(txt);

// adding this inflated layout to an existing layout
myLinearLayout.addView(rowLink);

私の内容は次のadditional_link.xmlとおりです。

<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/llCsAddLink"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/white_row"
    android:clickable="true"
    >        
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:src="@drawable/youtube_icon" />        
    <TextView
        android:id="@+id/tvCsAddLink"       
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"        
        android:paddingLeft="10px"
        android:paddingRight="20px"
        android:textSize="16dp"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:layout_gravity="center_vertical" />
</LinearLayout>

私はNullPointerExceptionオンラインになっています:

tvCsAddLink.setText(txt);
4

3 に答える 3

8

これを使用して、レイアウトからTextViewを取得します。

TextView tvCsAddLink = (TextView)rowLink.findViewById(R.id.tvCsAddLink);                                       
于 2011-11-22T11:59:19.167 に答える
5

あなたはあなたのXMLを膨らませて、あなたはあなたの(通常)のレイアウトからlinearLayout rowLink を見つけようとしているので、あなたは次のようにあなたのレイアウトrowLinkであなたを見つける必要があります:TextViewActivitymain.xmltextView

TextView tvCsAddLink = (TextView)rowLink.findViewById(R.id.tvCsAddLink);  
于 2011-11-22T12:04:55.107 に答える
4

findViewById(R.id.tvCsAddLink)膨らんだLinearLayoutrowLinkを呼び出します。これで、現在のアクティビティで検索しています。

于 2011-11-22T11:58:43.757 に答える