如何在android ListView中区分已读和未读消息?
如何在android ListView中区分已读和未读消息?,android,android-listview,Android,Android Listview,SimpleCursorAdapter用于我的代码中。 光标包含字段读取(真/假)。 如果为true,则行应显示为灰色文本颜色,如果为false,则显示为白色。如果像您编写的一样简单,则可以在SimpleCorsorAdapter中使用setViewBinder/setViewValue。下面将显示一个行布局的文本视图,如果光标中的一列包含您感兴趣的值,该行布局将被绘制为红色。如果有更多字段,则需要应用一些小更改。如果设置了自己的值,则返回true;如果Android应该绘制,则返回false:
SimpleCursorAdapter
用于我的代码中。
光标包含字段读取(真/假)。
如果为true,则行应显示为灰色文本颜色,如果为false,则显示为白色。如果像您编写的一样简单,则可以在SimpleCorsorAdapter中使用setViewBinder/setViewValue。下面将显示一个行布局的文本视图,如果光标中的一列包含您感兴趣的值,该行布局将被绘制为红色。如果有更多字段,则需要应用一些小更改。如果设置了自己的值,则返回true;如果Android应该绘制,则返回false:
... create SimpleCursorAdapter
if (simpleCursorAdapter != null) {
simpleCursorAdapter.setViewBinder(new SimpleCursorAdapter.ViewBinder() {
@Override
public boolean setViewValue(View view, Cursor cursor, int columnIndex) {
TextView textView = (TextView) view;
long l = cursor.getLong(positionOfReadValue);
if (l == valueOfRead) {
textView.setTextColor(Color.RED);
}
return false;
}
} );
setListAdapter(simpleCursorAdapter);
}
...
如果像您编写的那样简单,您可以在SimpleCursorAdapter中使用setViewBinder/setViewValue。下面将显示一个行布局的文本视图,如果光标中的一列包含您感兴趣的值,该行布局将被绘制为红色。如果有更多字段,则需要应用一些小更改。如果设置了自己的值,则返回true;如果Android应该绘制,则返回false:
... create SimpleCursorAdapter
if (simpleCursorAdapter != null) {
simpleCursorAdapter.setViewBinder(new SimpleCursorAdapter.ViewBinder() {
@Override
public boolean setViewValue(View view, Cursor cursor, int columnIndex) {
TextView textView = (TextView) view;
long l = cursor.getLong(positionOfReadValue);
if (l == valueOfRead) {
textView.setTextColor(Color.RED);
}
return false;
}
} );
setListAdapter(simpleCursorAdapter);
}
...
谢谢,@hjw。我是否可以对图标使用相同的方法(它将显示项目是否已读取)?或者,使用图标将不会有效?当然,您可以在onCreate中创建一个可绘制视图,将ImageView添加到行布局中,并在光标中的另一个字段具有感兴趣的值时设置可绘制视图。我应该如何更改以下行-TextView TextView=(TextView)视图代码>,如果我的listview的每一行有两个项目-图标和文本视图?在这里找到-谢谢,@hjw。我是否可以对图标使用相同的方法(它将显示项目是否已读取)?或者,使用图标将不会有效?当然,您可以在onCreate中创建一个可绘制视图,将ImageView添加到行布局中,并在光标中的另一个字段具有感兴趣的值时设置可绘制视图。我应该如何更改以下行-TextView TextView=(TextView)视图代码>,如果我的listview的每一行有两个项目-图标和文本视图?在这里找到-