在java中创建线性布局并将其id传递给viewpager适配器时出错。正在引发找不到资源异常

在java中创建线性布局并将其id传递给viewpager适配器时出错。正在引发找不到资源异常,java,android,android-layout,exception,Java,Android,Android Layout,Exception,这是我的源代码。在这里,我创建布局和添加文本视图的布局。我将所有布局ID放入arraylist中,并将其传递给customviewpager适配器 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

这是我的源代码。在这里,我创建布局和添加文本视图的布局。我将所有布局ID放入arraylist中,并将其传递给customviewpager适配器

 public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


        ViewPager viewPager = (ViewPager) findViewById(R.id.viewPager);
        ArrayList<Integer> arrayList = new ArrayList<Integer>(3);


        LinearLayout rlayout = new LinearLayout(this);
        LinearLayout.LayoutParams rParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT);
        rlayout.setId(R.id.rid);
        rlayout.setLayoutParams(rParams);
        TextView rtext = new TextView(this);
        rtext.setText("hello");
        rtext.setId(R.id.rtext);
        rtext.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
        rlayout.addView(rtext);

        LinearLayout blayout = new LinearLayout(this);
        LinearLayout.LayoutParams bParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT);
        blayout.setId(R.id.bid);
        blayout.setLayoutParams(bParams);

        TextView btext = new TextView(this);
        btext.setText("helo");
        btext.setId(R.id.btext);
        btext.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
        blayout.addView(btext);

        LinearLayout glayout = new LinearLayout(this);
        LinearLayout.LayoutParams gParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT);
        glayout.setId(R.id.gid);

        TextView gtext = new TextView(this);
        gtext.setText("hello");
        gtext.setId(R.id.gtext);
        glayout.setLayoutParams(gParams);
        gtext.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
        glayout.addView(gtext);

        arrayList.add(0,R.id.bid);
        arrayList.add(1,R.id.rid);
        arrayList.add(2,R.id.gid);



        viewPager.setAdapter(new CustomPagerAdapter(this,arrayList));
    }

    }
public类MainActivity扩展了AppCompatActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ViewPager ViewPager=(ViewPager)findViewById(R.id.ViewPager);
ArrayList ArrayList=新的ArrayList(3);
LinearLayout rlayout=新的LinearLayout(本);
LinearLayout.LayoutParams rParams=新的LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_父级,ViewGroup.LayoutParams.MATCH_父级);
rlayout.setId(R.id.rid);
rlayout.setLayoutParams(rParams);
TextView rtext=新的TextView(此);
rtext.setText(“你好”);
rtext.setId(R.id.rtext);
rtext.setLayoutParams(新的ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_内容,ViewGroup.LayoutParams.WRAP_内容));
rlayout.addView(rtext);
LinearLayout blayout=新的LinearLayout(本);
LinearLayout.LayoutParams bParams=新的LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_父级,ViewGroup.LayoutParams.MATCH_父级);
blayout.setId(R.id.bid);
blayout.setLayoutParams(bParams);
TextView btext=新的TextView(此);
b文本设置文本(“helo”);
btext.setId(R.id.btext);
b text.setLayoutParams(新的ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_内容,ViewGroup.LayoutParams.WRAP_内容));
blayout.addView(btext);
LinearLayout glayout=新的LinearLayout(本);
LinearLayout.LayoutParams gParams=新的LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_父级,ViewGroup.LayoutParams.MATCH_父级);
glayout.setId(R.id.gid);
TextView gtext=新的TextView(此);
gtext.setText(“你好”);
gtext.setId(R.id.gtext);
glayout.setLayoutParams(gParams);
gtext.setLayoutParams(新的ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_内容,ViewGroup.LayoutParams.WRAP_内容));
glayout.addView(gtext);
arrayList.add(0,R.id.bid);
arrayList.add(1,R.id.rid);
arrayList.add(2,R.id.gid);
setAdapter(新的CustomPagerAdapter(这个,arrayList));
}
}
这是视图寻呼机适配器。在这里,我接收资源ID,膨胀布局并将其转换为viewgroup。但我得到的资源没有发现异常

    public class CustomPagerAdapter extends PagerAdapter {

    private Context mContext;
    private ArrayList <Integer> viewList;

    public CustomPagerAdapter(Context context, ArrayList arrayList) {
        mContext = context;
        viewList = arrayList;
    }

    @Override
    public Object instantiateItem(ViewGroup collection, int position) {
        LayoutInflater inflater = LayoutInflater.from(mContext);
        ViewGroup layout = (ViewGroup) 
    inflater.inflate(viewList.get(position), collection, false);
        collection.addView(layout);
        return layout;
    }

    @Override
    public void destroyItem(ViewGroup collection, int position, Object 
    view) {
        collection.removeView((View) view);
    }

    @Override
    public int getCount() {
        return viewList.size();
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == object;
    }


}
public类CustomPagerAdapter扩展了PagerAdapter{
私有上下文;
私有ArrayList视图列表;
公共CustomPagerAdapter(上下文,ArrayList ArrayList){
mContext=上下文;
viewList=arrayList;
}
@凌驾
公共对象实例化项(视图组集合,int位置){
LayoutFlater充气机=LayoutFlater.from(mContext);
视图组布局=(视图组)
充气器。充气(查看列表。获取(位置)、收集、错误);
collection.addView(布局);
返回布局;
}
@凌驾
公共项(视图组集合、int位置、对象
(视图){
collection.removeView((视图)视图);
}
@凌驾
public int getCount(){
返回viewList.size();
}
@凌驾
公共布尔值isViewFromObject(视图,对象){
返回视图==对象;
}
}

你在那里做的事情没有真正意义。为什么要尝试对已动态创建的视图进行充气?膨胀是为了从布局XML创建
视图
s。但我如何从它们的id获取布局以添加它的视图组集合。你真的不知道。不是那样的。如果这就是为
查看页面
创建
视图
的方法,那么只需向适配器传递
数组列表
。好的。谢谢我会努力工作的。谢谢。但不是ArrayList,而是我做了ArrayList