android - How do I get rid of the child divider in an ExpandableListView when I have curves around my TextViews -
i need find way have rounded corners , rid of child divider. have separate classes rounded corners except compile 1 file. don't want switch regular listview right now, looks may have to. i'm thankful help.
expandablelistadapter:
package com.velamati.abhilaash.networkconnect; import android.content.context; import android.graphics.bitmap; import android.graphics.bitmapfactory; import android.graphics.typeface; import android.os.asynctask; import android.text.spannable; import android.text.spannablestring; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.baseexpandablelistadapter; import android.widget.expandablelistview; import android.widget.imageview; import android.widget.textview; import com.velamati.abhilaash.common.logger.log; import java.io.inputstream; import java.util.hashmap; import java.util.list; public class expandablelistadapter extends baseexpandablelistadapter { private context context; private expandablelistview exp; private list<string> listdataheader; // header titles // child data in format of header title, child title private hashmap<string, notam> listdatachild; private hashmap<string, string> bmstrings; private hashmap<string, bitmap> bitmaphashmap = new hashmap<string, bitmap>(); public expandablelistadapter(context _context, list<string> _listdataheader, hashmap<string, notam>_listchilddata, expandablelistview exp) { this.context = _context; this.listdataheader = _listdataheader; this.listdatachild = _listchilddata; bmstrings = new hashmap<string, string>(); for(notam notam : listdatachild.values()) { if(notam.geturl() != null) bmstrings.put(notam.getonlyeventid(), notam.geturl()); } this.exp = exp; } private class downloadimagetask extends asynctask<string, void, bitmap> { imageview bmimage; public downloadimagetask(imageview bmimage) { this.bmimage = bmimage; } protected bitmap doinbackground(string... eventid) { if(!bitmaphashmap.containskey(eventid[0])) { bitmap bm = null; if (bmstrings.containskey(eventid[0])) { string urldisplay = bmstrings.get(eventid[0]); try { inputstream in = new java.net.url(urldisplay).openstream(); bm = bitmapfactory.decodestream(in); } catch (exception e) { log.e("error", e.getmessage()); e.printstacktrace(); } } bitmaphashmap.put(eventid[0], bm); return bm; } return bitmaphashmap.get(eventid[0]); } protected void onpostexecute(bitmap result) { bmimage.setimagebitmap(result); } } @override public object getchild(int groupposition, int childposition) { return this.listdatachild.get(this.listdataheader.get(groupposition)); } @override public long getchildid(int groupposition, int childposition) { return childposition; } @override public view getchildview(int groupposition, final int childposition, boolean islastchild, view convertview, viewgroup parent) { final string childtext = getchild(groupposition, childposition).tostring(); if (convertview == null) { layoutinflater infalinflater = (layoutinflater) this.context.getsystemservice(context.layout_inflater_service); convertview = infalinflater.inflate(r.layout.list_item, null); } textview txtlistchild = (textview) convertview.findviewbyid(r.id.listitem); typeface fontreg = typeface.createfromasset(context.getassets(), "fonts/roboto-1.2/roboto_v1.2/roboto/roboto-regular.ttf"); // create new spannable 2 strings txtlistchild.settypeface(fontreg); txtlistchild.settext(childtext); return convertview; } @override public int getchildrencount(int groupposition) { return 1; } @override public object getgroup(int groupposition) { return this.listdataheader.get(groupposition); } @override public int getgroupcount() { return this.listdataheader.size(); } @override public long getgroupid(int groupposition) { return groupposition; } @override public view getgroupview(int groupposition, boolean isexpanded, view convertview, viewgroup parent) { string headertitle = (string) getgroup(groupposition); if (convertview == null) { layoutinflater infalinflater = (layoutinflater) this.context.getsystemservice(context.layout_inflater_service); convertview = infalinflater.inflate(r.layout.list_group, null); } textview listheader = (textview) convertview.findviewbyid(r.id.listheader); string[] parts = headertitle.split(":"); string eventid = parts[0]; string htnum = parts[1]; string httext = parts[2]; typeface fontbold = typeface.createfromasset(context.getassets(), "fonts/roboto-1.2/roboto_v1.2/roboto/roboto-bold.ttf"); typeface fontreg = typeface.createfromasset(context.getassets(), "fonts/roboto-1.2/roboto_v1.2/roboto/roboto-regular.ttf"); // create new spannable 2 strings spannable spannable = new spannablestring(htnum + "\n" + httext); // set custom typeface span on section of spannable object spannable.setspan( new customtypefacespan("roboto", fontbold), 0, htnum.length(), spannable.span_exclusive_exclusive); spannable.setspan(new customtypefacespan("roboto", fontreg), htnum.length(), htnum.length() + httext.length(), spannable.span_exclusive_exclusive); listheader.settext(spannable); new downloadimagetask((imageview) convertview.findviewbyid(r.id.imageview)).execute(eventid); return convertview; } @override public boolean hasstableids() { return false; } @override public boolean ischildselectable(int groupposition, int childposition) { return false; } } group class:
<textview android:id="@+id/listheader" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textsize="15sp" android:drawableleft="@drawable/ic_rwy" android:drawablepadding="10dp" android:background="@drawable/rounded_corner_group"/> <imageview android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/imageview" android:scaletype="centercrop" android:layout_gravity="center"/> </linearlayout> item class:
rounded corner group class:
<solid android:color="@color/white" /> <padding android:left="10dp" android:right="10dp" android:top="10dp" /> <corners android:radius="5dp" /> </shape> rounded corner item class
<solid android:color="@color/white" /> <padding android:left="1dp" android:right="1dp" android:top="10dp" /> <corners android:radius="5dp" /> </shape> activity_main class
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/background" android:baselinealigned="false"> <expandablelistview android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/listview" android:layout_weight="1" android:padding="10dp" android:dividerheight="5dp" android:divider="@color/background" android:childdivider="@color/background" android:groupindicator="@null" android:background="@color/background"/> </linearlayout> thanks in advance
android:childdivider="@android:color/transparent"
Comments
Post a Comment