【发布时间】:2016-06-24 06:27:38
【问题描述】:
我想创建多个水平网格视图,每个网格视图上面都有标题。我已经成功制作了,结果是我想要的,但是我的应用程序变得如此沉重。
我现在的看法是这样的:
我有一个 LinearLayout,其中包含一个 textview 和一个 Horizontalgridview。我们称之为 item_layout
我将动态添加多个 item_layout 到 main_layout 中的自定义 LinearLayout(我将其命名为 SectionedView)。代码大致是这样的(不是我的真实代码):
public class SectionedView extends LinearLayout{
...
public void setData(ArrayList<Object> object){
for(Object o:object){
View view = ...
title = (TextView)view.findViewById(R.id.title);
gridView = (GridView)view.findViewById(R.id.content);
title.setText(o.getTitle());
adapter = new Adapter(o.getItems());
gridView.setAdapter(adapter);
addView(view);
}
}
...
}
main_layout 中的自定义 LinearLayout 位于 ScrollView 内。
这个是main_layout里面的LinearLayout的例子(基本上和上一张图一样)。
我的问题是有没有人知道更好的解决方法,如何以及为什么? 谢谢!
编辑: 我正在创建一个 Android TV 应用程序,因此我需要将焦点集中在要导航的每个项目上。但是我在 RecyclerView 中尝试过 RecyclerView,内部 RecyclerView 无法获得焦点:(
【问题讨论】:
标签: android android-layout gridview android-linearlayout android-tv