مشکل با لیست ویو باز شدنی

ساخت وبلاگ
adapter
import java.util.HashMap;
import java.util.List;
import com.hetbo.riazi_hashtom.R;
import android.content.Context;
import android.graphics.Typeface;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.TextView;
public class ExpandableListAdapter extends BaseExpandableListAdapter { private Context _context; private List<String> _listDataHeader; // header titles // child data in format of header title, child title private HashMap<String, List<String>> _listDataChild; public ExpandableListAdapter(Context context, List<String> listDataHeader, HashMap<String, List<String>> listChildData) { this._context = context; this._listDataHeader = listDataHeader; this._listDataChild = listChildData; } @Override public Object getChild(int groupPosition, int childPosititon) { retu this._listDataChild.get(this._listDataHeader.get(groupPosition)) .get(childPosititon); } @Override public long getChildId(int groupPosition, int childPosition) { retu childPosition; } @Override public View getChildView(int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { final String childText = (String) getChild(groupPosition, childPosition); 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.lblListItem); txtListChild.setText(childText); retu convertView; } @Override public int getChildrenCount(int groupPosition) { retu this._listDataChild.get(this._listDataHeader.get(groupPosition)) .size(); } @Override public Object getGroup(int groupPosition) { retu this._listDataHeader.get(groupPosition); } @Override public int getGroupCount() { retu this._listDataHeader.size(); } @Override public long getGroupId(int groupPosition) { retu 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 lblListHeader = (TextView) convertView .findViewById(R.id.lblListHeader); lblListHeader.setTypeface(null, Typeface.BOLD); lblListHeader.setText(headerTitle); retu convertView; } @Override public boolean hasStableIds() { retu false; } @Override public boolean isChildSelectable(int groupPosition, int childPosition) { retu true; }
}

main activity
 ExpandableListAdapter listAdapter; ExpandableListView expListView; List<String> listDataHeader; HashMap<String, List<String>> listDataChild; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); expListView = (ExpandableListView) findViewById(R.id.lvExp); prepareListData(); listAdapter = new ExpandableListAdapter(this, listDataHeader, listDataChild); expListView.setAdapter(listAdapter); } private void prepareListData() { listDataHeader = new ArrayList<String>(); listDataChild = new HashMap<String, List<String>>(); listDataHeader.add("فصل اول"); listDataHeader.add("فصل دوم"); listDataHeader.add("فصل سوم"); List<String> sea01 = new ArrayList<String>(); sea01.add("بخش اول"); sea01.add("بخش دوم"); sea01.add("بخش سوم"); sea01.add("بخش چهارم"); List<String> sea02 = new ArrayList<String>(); sea02.add("بخش اول"); sea02.add("بخش دوم"); List<String> sea03 = new ArrayList<String>(); sea03.add("بخش اول"); sea03.add("بخش دوم"); sea03.add("بخش سوم"); sea03.add("بخش چهارم"); sea03.add("بخش پنجم"); listDataChild.put(listDataHeader.get(0), sea01); listDataChild.put(listDataHeader.get(1), sea02); listDataChild.put(listDataHeader.get(2), sea03); expListView.setOnChildClickListener(new OnChildClickListener() { @Override public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) { retu false; } }); }

list group.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" android:padding="8dp" android:background="#0097A7"> <TextView android:id="@+id/lblListHeader" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingLeft="?android:attr/expandableListPreferredItemPaddingLeft" android:textSize="17dp" android:textColor="#E1F5FE" />
</LinearLayout>

list item . xml

<?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:orientation="vertical" > <TextView android:id="@+id/lblListItem" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="17dip" android:paddingTop="5dp" android:paddingBottom="5dp" android:paddingLeft="?android:attr/expandableListPreferredChildPaddingLeft" />
</LinearLayout>

روید باکس...
ما را در سایت روید باکس دنبال می کنید

برچسب : نویسنده : کاوه محمدزادگان roid بازدید : 139 تاريخ : پنجشنبه 30 ارديبهشت 1395 ساعت: 22:23