2014-09-02 34 views
0

我想徽章通知添加到我的arraylist.But我无法找到this.This教程是我的名单代码:如何添加徽章列出

public void chatList() { 
    conversationsAdapter=new ArrayAdapter<JsonObject>(this,0) { 
     @Override 
     public View getView(int c_position,View c_convertView,ViewGroup c_parent) { 
      if (c_convertView == null) { 
       c_convertView=getLayoutInflater().inflate(R.layout.random_bars,null); 
      } 
      JsonObject user=getItem(c_position); 
      String name=user.get("name").getAsString(); 
      String image_url="http://domain.com/profile/thumb/"+user.get("photo").getAsString(); 
      TextView nameView=(TextView)c_convertView.findViewById(R.id.tweet); 
      nameView.setText(name); 
      ImageView imageView=(ImageView)c_convertView.findViewById(R.id.image); 
      Ion.with(imageView) 
      .placeholder(R.drawable.twitter) 
      .load(image_url); 
      return c_convertView; 
     } 
    }; 
    ListView conversationsListView = (ListView)findViewById(R.id.conversationList); 
    conversationsListView.setAdapter(conversationsAdapter); 
    conversationsListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, 
       int position, long id) { 
      startChat(conversationsAdapter.getItem(position)); 

     } 
    }); 
} 

我的列表:

enter image description here

我想为此列表添加徽章。如何才能做到这一点?

Ps:我找到了一个库https://github.com/jgilfelt/android-viewbadger但我不想使用它。

+0

刚刚成立的背景绘制的TextView的和分配textview.setText算 – Chandru 2014-09-02 13:38:38

+0

@Chandru我必须从更新的计数值一种方法。我可以怎么做? – 2014-09-02 13:40:22

+0

使用基本适配器进行自定义listview而非阵列适配器。里面getview setText到textview – Chandru 2014-09-02 13:43:50

回答

0

膨胀自定义listview中的布局,扩展了基本适配器而不是阵列适配器。将以下布局添加到自定义列表项目布局中。

drawer_list_item.xml 
<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="48dp" 
    android:background="@drawable/list_selector"> 

    <ImageView 
     android:id="@+id/icon" 
     android:layout_width="25dp" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_marginLeft="12dp" 
     android:layout_marginRight="12dp" 
     android:contentDescription="@string/desc_list_item_icon" 
     android:src="@drawable/ic_home" 
     android:layout_centerVertical="true" /> 

    <TextView 
     android:id="@+id/title" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_toRightOf="@id/icon" 
     android:minHeight="?android:attr/listPreferredItemHeightSmall" 
     android:textAppearance="?android:attr/textAppearanceListItemSmall" 
     android:textColor="@color/list_item_title" 
     android:gravity="center_vertical" 
     android:paddingRight="40dp"/> 

    <TextView android:id="@+id/counter" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/counter_bg" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true" 
     android:layout_marginRight="8dp" 
     android:textColor="@color/counter_text_color"/> 

</RelativeLayout> 

使用下面绘制背景TextView的柜台,并设置通知的计数值的TextView

counter_bg.xml 
<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle" > 

    <!-- view background color --> 
    <solid android:color="@color/counter_text_bg" > 
    </solid> 

    <!-- If you want to add some padding --> 
    <padding 
     android:right="3dp" 
     android:left="3dp" > 
    </padding> 

    <!-- Here is the corner radius --> 
    <corners android:radius="2dp" > 
    </corners> 

</shape> 
相关问题