您好,我有我的自定义GridViewAdapter
,我有7个语音。在GridView中为未读通知添加徽章Android
String[] description = new String[]{"test", "test1", "test2", "test3", "test4", "test5", "notification"};
int[] imageId = {
R.mipmap.test,
R.mipmap.test1,
R.mipmap.test2,
R.mipmap.test3,
R.mipmap.test4,
R.mipmap.test5,
R.mipmap.notification,
};
而在我的数据库(MySQL数据库)我有一个通知表,我知道如果一个通知是否读取或不。 所以我想在元素通知中添加一个徽章,其中的通知数量未读。
网格元素的实际布局是:
<de.hdodenhof.circleimageview.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/image"
android:layout_gravity="center"
android:layout_width="88dp"
android:layout_height="88dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
app:civ_border_width="2dp"
app:civ_border_color="#FF000000"
/>
<TextView
android:id="@+id/description"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
/>
而且我相信,如果我加入的RowLayout一个TextView(如下图所示),可能是工作
<TextView
android:id="@+id/unread"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
/>
但用这种方法我会所有元素见TextView
。 如何才能将此textView仅用于一个元素并在通知添加时刷新编号?
我看到这个帖子https://github.com/leolin310148/ShortcutBadger 和https://github.com/jgilfelt/android-viewbadger 但似乎不推荐使用。
我Adapter
是:
public class GridViewDashboardAdapter extends BaseAdapter {
public class Holder
{
TextView tv;
TextView notification;
ImageView img;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
Holder holder = new Holder();
View rowView;
rowView = inflater.inflate(R.layout.dashboard_grid, null);
holder.tv=(TextView) rowView.findViewById(R.id.description);
holder.notification=(TextView) rowView.findViewById(R.id.description);
holder.img=(de.hdodenhof.circleimageview.CircleImageView) rowView.findViewById(R.id.image);
holder.tv.setText(result[position]);
holder.img.setImageResource(imageId[position]);
/* pseudo code */
if(notificationUnread.size()>0){
holder.notification.setVisibility(View.VISIBLE);
}
}
}
您没有显示将TextView的可见性更改为可见的代码。 –
你好,谢谢,我添加了代码段 – LorenzoBerti
什么是'notificationUnread'? –