如何通过SimpleCorsOrAdapter在androidlist的行中省略子布局?
我有一个如何通过SimpleCorsOrAdapter在androidlist的行中省略子布局?,android,android-layout,android-listview,simplecursoradapter,Android,Android Layout,Android Listview,Simplecursoradapter,我有一个ListFragment,其中每一行由从数据库检索的多个数据组成。该数据以子布局的形式进行结构化,其中一个由带有固定文本的LinerLayout和从数据库填充的动态文本组成,类似于Value:X,其中X是来自数据库的值 但是,该值在db中是可选的,如果该值不存在,我不希望显示固定文本 问题是如何在负责行布局膨胀的SimpleCursorAdapter中实现这一点 这是行的布局,其中由固定文本和动态文本组成的子布局是id为valueLayout的布局: 我无法在这里直接找到答案,因此不
ListFragment
,其中每一行由从数据库检索的多个数据组成。该数据以子布局的形式进行结构化,其中一个由带有固定文本的LinerLayout
和从数据库填充的动态文本组成,类似于Value:X
,其中X是来自数据库的值
但是,该值在db中是可选的,如果该值不存在,我不希望显示固定文本
问题是如何在负责行布局膨胀的SimpleCursorAdapter
中实现这一点
这是行的布局,其中由固定文本和动态文本组成的子布局是id为valueLayout的布局:
我无法在这里直接找到答案,因此不得不寻找一些信息。因此,我决定在这里也分享答案解决方案基本上包括从
SimpleCursorAdapter
覆盖bindView
方法,检查光标中的值,如果不存在,则获取子布局并将其可见性设置为视图。消失
公共类MyCursorAdapter扩展了SimpleCursorAdapter{
公共MyCursorAdapter(上下文上下文、int布局、游标c、,
字符串[]从,int[]到,int标志){
super(上下文、布局、c、from、to、标志);
}
@凌驾
公共视图(视图v、上下文、光标c){
super.bindView(v,context,c);
//如果该值为空,则清除其线性布局
字符串值=c.getString(c.getColumnIndex(DATA.value));
如果(null==value | | value.isEmpty()){
LinearLayout valueLayout=(LinearLayout)v.findViewById(R.id.valueLayout);
valueLayout.setVisibility(View.GONE);
}
}
}