Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android-更改ListView项目的文本样式_Java_Android_Sqlite_Listview - Fatal编程技术网

Java Android-更改ListView项目的文本样式

Java Android-更改ListView项目的文本样式,java,android,sqlite,listview,Java,Android,Sqlite,Listview,我正在开发一个Android应用程序,它具有项目列表视图。从sqlite数据库中查询这些listview记录。下面是列表视图实现的代码: DataBaseHelper myDbHelper = new DataBaseHelper(null); myDbHelper = new DataBaseHelper(this); private static final String fields[] = {"c"}; int[] name

我正在开发一个Android应用程序,它具有项目列表视图。从sqlite数据库中查询这些listview记录。下面是列表视图实现的代码:

       DataBaseHelper myDbHelper = new DataBaseHelper(null);
        myDbHelper = new DataBaseHelper(this);
        private static final String fields[] = {"c"}; 
        int[] names = new int[] {R.id.name};
          client1 = (ListView)findViewById(R.id.list1 );

   String sql = "SELECT sno,a,b,c,d FROM (SELECT com.sno, com.a, com.b com.c,cd.d from table1 mem inner join table2 cd on mem.e=cd.e inner join table3 com on com.b = mem.b where mem.e =14445 AND a is NULL UNION SELECT com.sno, com.a, com.b,com.c,cd.d from table1 mem inner join table3 com on com.b = mem.b inner join table2 cd on mem.e=cd.e where mem.e =14445  AND a is NOT NULL) a group by a,b;";

  Cursor cdata = myDbHelper.getView(sql);

  SimpleCursorAdapter adapter2 = new SimpleCursorAdapter(this,R.layout.list1, cdata, fields,names );
  client1.setAdapter(adapter2); 
其中list1.xml是:

            <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 android:orientation="horizontal" 
 android:layout_width="fill_parent" 
 android:layout_height="fill_parent"  
 android:id="@+id/MainLayout"
 android:padding="5px">  
 <TextView 
android:id="@+id/name" 
android:layout_width="fill_parent"  
android:layout_height="wrap_content" 
android:textSize="12sp"
android:textColor="#104082"
android:textStyle="bold"
android:layout_weight="1" 
/>  
</LinearLayout> 

这里我的问题是通过更改列表视图项的文本样式来区分同一list1.xml中具有'a'=null和'a'=notnull的数据记录……我可以通过在查询中提供任何文本样式属性来区分sql查询中的文本样式吗


请帮我提供示例代码/链接。。。。。。提前感谢

您必须定义一个自定义列表适配器,并且必须在其中定义getitemview方法,在该方法中,您可以膨胀(或以编程方式更改)项的布局,例如list1_null.xml或list1_notnull.xml

如果您需要的不仅仅是显示值(甚至是更改颜色),那么您必须重新定义自定义适配器


android api中的ListAdapter示例:

您必须定义一个自定义列表适配器,并在其中定义getitemview方法,在该方法中,您可以膨胀(或以编程方式更改)项的布局,比如list1_null.xml或list1_notnull.xml

如果您需要的不仅仅是显示值(甚至是更改颜色),那么您必须重新定义自定义适配器


android api中的ListAdapter示例:

您可以使用ListView的CustomAdapter执行此操作。因为视图是从包含所有光标结果的自定义数据对象创建的。 您可以检查a是否为null,以及textview是否具有不同的textstyle


检查自定义适配器的练习

您可以使用ListView的自定义适配器执行此操作。因为视图是从包含所有光标结果的自定义数据对象创建的。 您可以检查a是否为null,以及textview是否具有不同的textstyle

检查自定义适配器的练习