我的问题几乎就是这个问题:
但是,我正在膨胀一个视图,然后出于性能原因尝试在对象级别克隆它(我不想每次都解析XML),所以这个答案对我没有帮助.View.clone()受到保护,它显然没有复制构造函数.有没有办法做到这一点?
在我的Android应用程序中,我想创建ImageButton已创建的副本Imagebutton.
我想以Imagebutton编程方式创建新的XML文件中已创建按钮的widht,height,background,image src,margin等.简而言之,我想创建重复ImageButton.
我试过这个
ImageButton mImageButton = (ImageButton) findViewById(R.id.ib);
Imagebutton duplicate = mImageButton;
Run Code Online (Sandbox Code Playgroud)
但它只涉及到mImageButton.所以,改变duplicate也会引起变化mImageButton.
请帮帮我.谢谢...
我为活动创建了一个布局文件.在这个布局中,我创建了一个带有textview和edittext的LinearLayout.现在我想创建额外的LinearLayouts,它将查看并包含与原始LinearLayout完全相同的视图,但具有不同的文本.我还想在运行期间以编程方式执行此操作,因为这些LinearLayout的数量在运行之间会有所不同.我已经阅读了一些关于inflaters的内容,但我对它们的理解并不充分.
我在想这样的事情,显然代码是错误的,但希望你明白我想做什么:
LinearLayout llMain = (LinearLayout)findViewById(R.id.mainLayout);
LinearLayout llToCopy = (LinearLayout)findViewById(R.id.linearLayoutToCopy);
for(int player = 0; player < size; player++)
{
LinearLayout llCopy = llToCopy.clone();
TextView tv = (TextView)llCopy.getChildAt(0);
tv.setText(players.get(player).getName());
llMain.addView(llCopy);
}
Run Code Online (Sandbox Code Playgroud)