Android Can';t连接到添加视图中的按钮

Android Can';t连接到添加视图中的按钮,android,android-layout,android-widget,Android,Android Layout,Android Widget,在这个类中,我将布局作为新页面放入pageviewer中。 这很好,但是现在我想在布局中的按钮上放置一个侦听器,但是我找不到它 public class questionListView extends LinearLayout { public questionListView(Context context, AttributeSet attrs) { super(context, attrs); init(); } public questionListView(Con

在这个类中,我将布局作为新页面放入pageviewer中。 这很好,但是现在我想在布局中的按钮上放置一个侦听器,但是我找不到它

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,
Eric

您是否正在使用eclipse进行开发?有时候编辑不明白。因此,您可能必须删除/gen文件夹中的R.java,然后再次编译它。当eclipse生成R.java时,它将找到您的R.layout.btAddPhoto id。

您是用eclipse开发的吗?有时候编辑不明白。因此,您可能必须删除/gen文件夹中的R.java,然后再次编译它。当eclipse生成R.java时,它将找到您的R.layout.btAddPhoto id。

如果您在布局文件夹中定义了btAddPhoto.xml,则您的IDE无法正确地重新生成R.java。清理项目并重新生成以解决此问题(Eclipse中的项目-->清理)

如果在布局文件夹中定义了btAddPhoto.xml,则IDE无法正确重新生成R.java。清理项目并重新生成以解决此问题(Eclipse中的项目-->清理)

已解决此问题。。。。这是一个按钮,所以我应该使用R.id.btAddPhoto而不是R.layout


我现在觉得自己很愚蠢……

解决了这个问题。。。。这是一个按钮,所以我应该使用R.id.btAddPhoto而不是R.layout


我现在觉得自己很愚蠢……

我们能看到正在膨胀的布局吗?我们能看到正在膨胀的布局吗?如果我打开de R.java,我会看到其中的控件(按钮、文本视图等)。所以它正确地生成了它。不知道你是否解决了这个问题。但这听起来可能是您导入了错误的R。请检查import android.R;如果我打开de R.java,我会看到其中的控件(按钮、文本视图等)。所以它正确地生成了它。不知道你是否解决了这个问题。但这听起来可能是您导入了错误的R。请检查import android.R;所有控件都在R.java文件中。还是做了清理,但没有更改。所有控件都在R.java文件中。不管怎么说,我做了一次清洁,但没有改变。别担心;我们也都错过了。别担心;我们也都错过了。