我在网上搜索过,并没有找到确切的方法。我大多看起来不正确,所以不要重新发布转发和其他评论。只需将我引导到一个狂欢的帖子或回答我的问题。三江源。
如何动态地将值添加到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)
由于
答案 0 :(得分:0)
首先,在为添加到RelativeLayout的内容设置LayoutParams时,需要使用RelativeLayout.LayoutParams而不是Toolbar.LayoutParams。
接下来,您需要确保您创建的RelativeLayout已为其添加的容器类型(rootView)设置了正确的布局参数。
使用setOnClickListener使每个视图都可单击,如下所示:
view.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
}
});