0

このクラスを使用して、レイアウトを新しいページとしてページビューアーに配置します。それはうまくいきますが、レイアウトのボタンにリスナーを配置したいのですが、見つかりません。

public class questionListView extends LinearLayout {

public questionListView(Context context, AttributeSet attrs) {
    super(context, attrs);
    init();
}

public questionListView(Context context) {
    super(context);

     init();
}


private void init() {

    LayoutInflater factory = LayoutInflater.from(getContext());
    View myView = factory.inflate(R.layout.view1,null);

    LayoutParams params=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
    myView.setLayoutParams(params);

    addView(myView);

    Button btAddPhoto = (Button) myView.findViewById(R.layout.btAddPhoto);


}

}

R.layout に btAddPhoto がありません。

レイアウト ビュー 1 のコントロールにはアクセスできません。

ビューとして追加されたレイアウトのコントロールにアクセスするにはどうすればよいですか?

RG、エリック

4

3 に答える 3

2

それを解決しました....そのボタンなので、R.layoutの代わりにR.id.btAddPhotoを使用する必要がありました

今はバカになっている…。

于 2012-11-08T22:17:47.120 に答える
1

あなたは日食で開発していますか?時々、編集者はそれを取得しません。そのため、/ genフォルダー内のR.javaを削除して、もう一度コンパイルする必要がある場合があります。日食がR.javaを生成すると、R.layout.btAddPhotoIDが検出されます。

于 2012-11-08T19:49:12.543 に答える
1

レイアウト フォルダに btAddPhoto.xml が定義されている場合、IDE は R.java を適切に再生成していません。これを解決するには、プロジェクトをクリーンアップしてリビルドします (プロジェクト --> Eclipse でクリーンアップ)。

于 2012-11-08T20:00:29.123 に答える