我创建了一个外部类NotesView,它在我的MainActivity中扩展了View以实现。Android - 在使用setContentView时向活动添加单独的组件
该视图需要从MainActivity传递的信息,因此它的构造函数需要一个Note对象的ArrayList。
public class NotesView extends View {
private ArrayList<Note> notes = new ArrayList<>();
public NotesView(Context context, ArrayList<Note> notes) {
super(context);
this.notes = notes;
}
在我的MainActivity,我用下面的代码来显示这样的观点:(试图在布局的设计选项卡中添加一个CustomView,因为我不能提供ArrayList的参数不工作)
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
notesView = new NotesView(this, noteList);
setContentView(notesView);
}
不幸的是,我现在无法通过布局的设计视图添加任何对象,我认为这是因为我已经使用了setContentView。我不希望以编程方式添加所有组件,有没有办法解决这个问题?
为什么不使用Recyclerview/Listview。似乎完美匹配您的用例 –
请参阅[Android:传递任意对象到自定义视图](http://curioustechizen.blogspot.in/2013/02/android-passing-arbitrary-object-to.html)可能帮帮我 –