Android 动态添加视图

Android 动态添加视图,android,api,android-activity,dynamic,view,Android,Api,Android Activity,Dynamic,View,我在互联网上搜索过,但还没有找到确切的方法。我大部分时间看得不正确,所以不要开始转发和其他评论。只要告诉我一个狂欢的帖子或者回答我的问题。谢谢 如何向xml视图动态添加值并将其添加到活动中。这应该使用从API获得的不同值多次执行 我目前所做的是在onPostExecute中的异步线程上: RelativeLayout rl = new RelativeLayout(mContext); rl.setPadding(0, 0, 0, 10); Ima

我在互联网上搜索过,但还没有找到确切的方法。我大部分时间看得不正确,所以不要开始转发和其他评论。只要告诉我一个狂欢的帖子或者回答我的问题。谢谢

如何向xml视图动态添加值并将其添加到活动中。这应该使用从API获得的不同值多次执行

我目前所做的是在onPostExecute中的异步线程上:

RelativeLayout rl = new RelativeLayout(mContext);
            rl.setPadding(0, 0, 0, 10);
            ImageView img = new ImageView(mContext);
            img.setLayoutParams(new Toolbar.LayoutParams(Toolbar.LayoutParams.FILL_PARENT, Toolbar.LayoutParams.FILL_PARENT));
            img.setScaleType(ImageView.ScaleType.CENTER_CROP);
            //img.setMaxHeight(300);
            Picasso.with(mContext).load(imageURL[i]).into(img);
            rl.addView(img);
            TextView tv = new TextView(mContext);
            tv.setText(uri[i]);
            tv.setGravity(Gravity.CENTER | Gravity.BOTTOM);
            tv.setTextSize(20);
            tv.setBackgroundColor(Color.parseColor("#80000000"));
            tv.setLayoutParams(new Toolbar.LayoutParams(Toolbar.LayoutParams.FILL_PARENT, Toolbar.LayoutParams.WRAP_CONTENT));
            if(tv.getText()!= null) rl.addView(tv);
            rootView.addView(rl);
有没有更好的方法来做到这一点,这样我就有了更多的控制权,比如预定义的布局,我只需向其中添加不同的值。 另外,如何使每个视图都可单击?添加onClick


谢谢

首先,在为添加到RelativeLayout的内容设置LayoutParams时,需要使用RelativeLayout.LayoutParams而不是Toolbar.LayoutParams

接下来,您需要确保所创建的RelativeLayout为要添加到rootView的容器类型设置了正确的布局参数

使用setOnClickListener使每个视图都可单击,如下所示:

view.setOnClickListener(new OnClickListener()
{
    @Override
    public void onClick(View v)
    {

    }
});

这是一种方式,您可以调用imageView、textView的所有函数。。。