我真的对自定义视图感到困惑。
我需要定义一个自定义视图,由一个ImageView
和一个TextView
. 然后我想根据我已经完成的 php json 响应更改此视图的内容。
首先,我应该走哪条路:
1)将自定义视图定义为 XML,然后“膨胀”、复制等,然后更改新实例化的文本和图像源等?
2)将自定义视图定义为Java类,并实例化它?
最后,我想将我的自定义视图实例化为垂直布局的子视图。
我目前正在尝试的是 path # 2。我定义了这个类:
public class ArizaSatiri extends LinearLayout {
TextView arizaTitle;
//constructor :
public ArizaSatiri(Context context, AttributeSet attrs)
{
super(context, attrs);
// add title , description etc :
arizaTitle = new TextView(context);
arizaTitle.setText("abcef defefef");
this.addView(arizaTitle);
}
}
然后我在我的主要活动中尝试了这个:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_arizalarim);
ArizaSatiri as = new ArizaSatiri(getApplicationContext(), attrSet);
}
但我不知道如何构造一个 AttributeSet。
所以请告诉我,我应该选择哪条路径,以及如何动态地实例化自定义视图,我想多少次都可以?