实现三级可扩展ListView android?
我有一个导航抽屉,并试图在android中实现一个可扩展的LisView,其中包含3个级别: 趋势 相貌 男人 --服装实现三级可扩展ListView android?,android,Android,我有一个导航抽屉,并试图在android中实现一个可扩展的LisView,其中包含3个级别: 趋势 相貌 男人 --服装 -------西服 -------随意的 --鞋类 -------靴子 -------人字拖 女人 --服装 -------西服 -------随意的 --鞋类 -------靴子 -------触发器 我采用可扩展ListView1,并将另一个可扩展ListView2设置为其子级,这将扩展第三级子类别。 但我没有达到预期的效果。 第二级分类没有出现,所以第三级是无法达到的。
-------西服 -------随意的 --鞋类 -------靴子 -------人字拖 女人 --服装 -------西服 -------随意的 --鞋类 -------靴子 -------触发器 我采用可扩展ListView1,并将另一个可扩展ListView2设置为其子级,这将扩展第三级子类别。 但我没有达到预期的效果。 第二级分类没有出现,所以第三级是无法达到的。 任何想法或帮助都将不胜感激。我在任何地方都找不到解决方案 `public void prepareListData(){ //TODO自动生成的方法存根 listDataHeader=新的ArrayList(); listDataChild=新HashMap>() 公共类ExpandableListAdapter扩展了BaseExpandableListAdapter{
private Context _context;
List<String> _listDataHeader; // header titles
// child data in format of header title, child title
HashMap<String, List<String>> _listDataChild;
//sub sub category of men and women
private HashMap<String, List<String>> _menListDatasubChild,_womenListDatasubChild;
ExpandableListView expChildList;
ChildExpandableListAdapter childAdapter;
public ExpandableListAdapter(Context context,
List<String> listDataHeader,
HashMap<String, List<String>> listDataChild, HashMap<String, List<String>> menListDataSubChild, HashMap<String, List<String>> womenListDataSubChild) {
// TODO Auto-generated constructor stub
this._context=context;
this._listDataChild=listDataChild;
this._listDataHeader=listDataHeader;
this._menListDatasubChild=menListDataSubChild;
this._womenListDatasubChild=womenListDataSubChild;
}
@Override
public Object getChild(int groupPosition, int childPosititon) {
return this._listDataChild.get(this._listDataHeader.get(groupPosition))
.get(childPosititon);
}
@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 = (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.ListHeader1);
//calling sub level Adapter
Log.e("groupPos", String.valueOf(groupPosition));
Log.e("childText", childText);
expChildList=(ExpandableListView) convertView.findViewById(R.id.expChildList);
childAdapter=new ChildExpandableListAdapter(this._context,groupPosition);
expChildList.setAdapter(childAdapter);
// Listview Group click listener
expChildList.setOnGroupClickListener(new OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View v,
int groupPosition, long id) {
// Toast.makeText(getApplicationContext(),
//"Group Clicked " + listDataHeader.get(groupPosition),
//Toast.LENGTH_SHORT).show();
return false;
}
});
// Listview Group expanded listener
expChildList.setOnGroupExpandListener(new OnGroupExpandListener() {
@Override
public void onGroupExpand(int groupPosition) {
}
});
// Listview Group collasped listener
expChildList.setOnGroupCollapseListener(new OnGroupCollapseListener() {
@Override
public void onGroupCollapse(int groupPosition) {
}
});
// mDrawerList.setOnItemClickListener(new DrawerItemClickListener());
// Listview on child click listener
expChildList.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
// TODO Auto-generated method stub
return false;
}
});
//txtListChild.setText(childText);
return convertView;
}
@Override
public int getChildrenCount(int groupPosition) {
if(groupPosition==0)
return 0;
else if(groupPosition==1)
return 0;
else if(groupPosition==4)
return 0;
else
return this._listDataChild.get(this._listDataHeader.get(groupPosition)).size();
}
@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;
}
@SuppressLint("InflateParams")
@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.ListHeader);
lblListHeader.setTypeface(null, Typeface.BOLD);
lblListHeader.setText(headerTitle);
ImageView iconExpand = (ImageView) convertView.findViewById(R.id.icon_expand);
ImageView iconCollapse = (ImageView) convertView.findViewById(R.id.icon_collapse);
if(getChildrenCount(groupPosition)==0)
{
iconExpand.setVisibility(View.INVISIBLE);
iconCollapse.setVisibility(View.INVISIBLE);
}
else if(isExpanded)
{
iconExpand.setVisibility(View.INVISIBLE);
iconCollapse.setVisibility(View.VISIBLE);
}
else
{
iconExpand.setVisibility(View.VISIBLE);
iconCollapse.setVisibility(View.INVISIBLE);
}
return convertView;
}
@Override
public boolean hasStableIds() {
return false;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
//********sub sub child adapter
public class ChildExpandableListAdapter extends BaseExpandableListAdapter {
Context context;
int _groupPosition;
public ChildExpandableListAdapter(
Context context, int groupPosition) {
// TODO Auto-generated constructor stub
this.context=context;
this._groupPosition=groupPosition;
Log.e("gP",""+_groupPosition);
}
@Override
public int getGroupCount() {
// TODO Auto-generated method stub
return 0;
}
@Override
public int getChildrenCount(int groupPosition) {
// TODO Auto-generated method stub
return 0;
}
@Override
public Object getGroup(int groupPosition) {
// TODO Auto-generated method stub
if(_groupPosition==2)//men sub category
{
if(groupPosition==0)
return "Clothing";
else if(groupPosition==1)
return "Footwear";
else
return "Accesories";
}
else if(_groupPosition==3)//female sub category
{
if(groupPosition==0)
return "Western wear";
else if(groupPosition==1)
return "Footwear";
else if(groupPosition==2)
return "Ethnic wear";
else if(groupPosition==2)
return "Lingerie";
else
return "Accesories";
}
return null;
}
@Override
public Object getChild(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
//return this.__listDataChild.get(groupPosition)
if(_groupPosition==2)
{
return _menListDatasubChild.get(getGroup(groupPosition)).get(childPosition);
}
else if(_groupPosition==3)
{
return _womenListDatasubChild.get(getGroup(groupPosition)).get(childPosition);
}
return null;
}
@Override
public long getGroupId(int groupPosition) {
// TODO Auto-generated method stub
return 0;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return 0;
}
@Override
public boolean hasStableIds() {
// TODO Auto-generated method stub
return false;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
String headerTitle =(String)getGroup(groupPosition);
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) this.context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.list_group1,null);
}
TextView lblListHeader = (TextView) convertView
.findViewById(R.id.ListHeader1);
Log.e("HeaderTitle",headerTitle);
lblListHeader.setTypeface(null, Typeface.BOLD);
lblListHeader.setText(headerTitle);
return convertView;
}
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
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.sub_explist_row, null);
}
TextView txtListChild = (TextView) convertView
.findViewById(R.id.textView1);
txtListChild.setText(childText);
return convertView;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return true;
}
enter code here
}
private Context\u Context;
列表_listDataHeader;//标题
//标题标题、子标题格式的子数据
HashMap\u listDataChild;
//男子和妇女分组
私有HashMap _menListDatasubChild,_womnlistdatasubchild;
ExpandableListView expChildList;
ChildExpandableListAdapter-childAdapter;
公共ExpandableListAdapter(上下文,
列表listDataHeader,
HashMap listDataChild、HashMap menListDataSubChild、HashMap WomListDataSubChild){
//TODO自动生成的构造函数存根
这._context=context;
这是._listDataChild=listDataChild;
这。_listDataHeader=listDataHeader;
这是.\u menlistdasubchild=menlistdasubchild;
这是。_womlensteddatasubchild=womlensteddatasubchild;
}
@凌驾
公共对象getChild(int-groupPosition、int-ChildPosition){
返回此。_listDataChild.get(此。_listDataHeader.get(groupPosition))
.get(childpositionon);
}
@凌驾
公共长getChildId(int-groupPosition,int-childPosition){
返回子位置;
}
@凌驾
公共视图getChildView(int groupPosition,final int childPosition,
布尔值isLastChild、视图转换视图、视图组父级){
最终字符串childText=(字符串)getChild(groupPosition,childPosition);
if(convertView==null){
LayoutInflater infalInflater=(LayoutInflater)this.\u上下文
.getSystemService(上下文布局\充气机\服务);
convertView=infalInflater.充气(R.layout.list_项,空);
}
//TextView txtListChild=(TextView)convertView
//.findViewById(R.id.ListHeader1);
//调用子级适配器
Log.e(“groupPos”,String.valueOf(groupPosition));
Log.e(“childText”,childText);
expChildList=(ExpandableListView)convertView.findViewById(R.id.expChildList);
childAdapter=新的ChildExpandableListAdapter(此.\u上下文,groupPosition);
expChildList.setAdapter(childAdapter);
//Listview组单击侦听器
expChildList.setOnGroupClickListener(新的OnGroupClickListener(){
@凌驾
公共布尔值onGroupClick(ExpandableListView父视图,视图v,
int groupPosition,长id){
//Toast.makeText(getApplicationContext(),
//“组单击”+listDataHeader.get(groupPosition),
//吐司。长度(短)。show();
返回false;
}
});
//Listview组扩展侦听器
setOnGroupExpandListener(新的OnGroupExpandListener()){
@凌驾
public void onGroupExpand(int groupPosition){
}
});
//Listview组压缩侦听器
setOnGroupCollapseListener(新的OnGroupCollapseListener(){
@凌驾
公共void-onGroupCollapse(int-groupPosition){
}
});
//setOnItemClickListener(新的DrawerItemClickListener());
//子单击侦听器上的Listview
setOnChildClickListener(新的OnChildClickListener(){
@凌驾
公共布尔onChildClick(ExpandableListView父视图,视图v,
int groupPosition、int childPosition、long id){
//TODO自动生成的方法存根
返回false;
}
});
//setText(childText);
返回视图;
}
@凌驾
公共整数getChildrenCount(整数组位置){
if(groupPosition==0)
返回0;
else if(groupPosition==1)
返回0;
else if(groupPosition==4)
返回0;
其他的
返回此。_listDataChild.get(此。_listDataHeader.get(groupPosition)).size();
}
@凌驾
公共对象getGroup(int-groupPosition){
返回此。\u listDataHeader.get(groupPosition);
}
@凌驾
public int getGroupCount(){
返回此值。_listDataHeader.size();
}
@凌驾
公共长getGroupId(int-groupPosition){
返回组位置;
}
@SuppressLint(“充气参数”)
@凌驾
公共视图getGroupView(int-groupPosition,布尔值isExpanded,
视图(视图、视图组父级){
字符串头文件=(字符串)getGroup(groupPosition);
if(convertView==null){
LayoutInflater infalInflater=(LayoutInflater)this.\u上下文
.getSystemService(上下文布局\充气机\服务);
convertView=infalInflater.充气(R.layout.list\u组,空);
}
TextView lblistheader=(TextView)convertView
.findViewById(R.id.ListHeader);
lblListHeader.setTypeface(null,Typeface.BOLD);
lblListHeader.setText(标题);
ImageView图标扩展=(ImageView)convertView.findViewById(R.id.icon\u扩展);
ImageView图标折叠=(ImageView)convertView.findViewById(R.id.icon\u折叠);
如果(getChildrenCount(groupPosition)==0)
{
iconExpand.setVisibility(视图不可见);
iconCollapse.setVisibility(视图不可见);
}
else if(扩展)
{
iconExpand.setVisibility(视图不可见);
iconCollapse.setVisibility(View.VISIBLE);
}
其他的
{
iconExpand.setVis
expListView.setAdapter(listAdapter);
//Calling fuction for adding icon for Navigation Bar
addingNavIconOnActionBar();
// Listview Group click listener
expListView.setOnGroupClickListener(new OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View v,
int groupPosition, long id) {
// Toast.makeText(getApplicationContext(),
//"Group Clicked " + listDataHeader.get(groupPosition),
//Toast.LENGTH_SHORT).show();
if(groupPosition==0)
{
Intent trendingIntent=new Intent(getApplicationContext(), Trending.class);
startActivity(trendingIntent);
}
else if(groupPosition==1)
{
Intent trendingIntent=new Intent(getApplicationContext(), Looks.class);
startActivity(trendingIntent);
}
return false;
}
});
// Listview Group expanded listener
expListView.setOnGroupExpandListener(new OnGroupExpandListener() {
@Override
public void onGroupExpand(int groupPosition) {
Toast.makeText(getApplicationContext(),
listDataHeader.get(groupPosition) + " Expanded",
Toast.LENGTH_SHORT).show();
}
});
// Listview Group collasped listener
expListView.setOnGroupCollapseListener(new OnGroupCollapseListener() {
@Override
public void onGroupCollapse(int groupPosition) {
Toast.makeText(getApplicationContext(),
listDataHeader.get(groupPosition) + " Collapsed",
Toast.LENGTH_SHORT).show();
}
});
// mDrawerList.setOnItemClickListener(new DrawerItemClickListener());
// Listview on child click listener
expListView.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
// TODO Auto-generated method stub
Toast.makeText(
getApplicationContext(),
listDataHeader.get(groupPosition)
+ " : "
+ listDataChild.get(
listDataHeader.get(groupPosition)).get(
childPosition), Toast.LENGTH_SHORT)
.show();`enter code here`
return false;
}
});
}`
enter code here
private Context _context;
List<String> _listDataHeader; // header titles
// child data in format of header title, child title
HashMap<String, List<String>> _listDataChild;
//sub sub category of men and women
private HashMap<String, List<String>> _menListDatasubChild,_womenListDatasubChild;
ExpandableListView expChildList;
ChildExpandableListAdapter childAdapter;
public ExpandableListAdapter(Context context,
List<String> listDataHeader,
HashMap<String, List<String>> listDataChild, HashMap<String, List<String>> menListDataSubChild, HashMap<String, List<String>> womenListDataSubChild) {
// TODO Auto-generated constructor stub
this._context=context;
this._listDataChild=listDataChild;
this._listDataHeader=listDataHeader;
this._menListDatasubChild=menListDataSubChild;
this._womenListDatasubChild=womenListDataSubChild;
}
@Override
public Object getChild(int groupPosition, int childPosititon) {
return this._listDataChild.get(this._listDataHeader.get(groupPosition))
.get(childPosititon);
}
@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 = (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.ListHeader1);
//calling sub level Adapter
Log.e("groupPos", String.valueOf(groupPosition));
Log.e("childText", childText);
expChildList=(ExpandableListView) convertView.findViewById(R.id.expChildList);
childAdapter=new ChildExpandableListAdapter(this._context,groupPosition);
expChildList.setAdapter(childAdapter);
// Listview Group click listener
expChildList.setOnGroupClickListener(new OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View v,
int groupPosition, long id) {
// Toast.makeText(getApplicationContext(),
//"Group Clicked " + listDataHeader.get(groupPosition),
//Toast.LENGTH_SHORT).show();
return false;
}
});
// Listview Group expanded listener
expChildList.setOnGroupExpandListener(new OnGroupExpandListener() {
@Override
public void onGroupExpand(int groupPosition) {
}
});
// Listview Group collasped listener
expChildList.setOnGroupCollapseListener(new OnGroupCollapseListener() {
@Override
public void onGroupCollapse(int groupPosition) {
}
});
// mDrawerList.setOnItemClickListener(new DrawerItemClickListener());
// Listview on child click listener
expChildList.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
// TODO Auto-generated method stub
return false;
}
});
//txtListChild.setText(childText);
return convertView;
}
@Override
public int getChildrenCount(int groupPosition) {
if(groupPosition==0)
return 0;
else if(groupPosition==1)
return 0;
else if(groupPosition==4)
return 0;
else
return this._listDataChild.get(this._listDataHeader.get(groupPosition)).size();
}
@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;
}
@SuppressLint("InflateParams")
@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.ListHeader);
lblListHeader.setTypeface(null, Typeface.BOLD);
lblListHeader.setText(headerTitle);
ImageView iconExpand = (ImageView) convertView.findViewById(R.id.icon_expand);
ImageView iconCollapse = (ImageView) convertView.findViewById(R.id.icon_collapse);
if(getChildrenCount(groupPosition)==0)
{
iconExpand.setVisibility(View.INVISIBLE);
iconCollapse.setVisibility(View.INVISIBLE);
}
else if(isExpanded)
{
iconExpand.setVisibility(View.INVISIBLE);
iconCollapse.setVisibility(View.VISIBLE);
}
else
{
iconExpand.setVisibility(View.VISIBLE);
iconCollapse.setVisibility(View.INVISIBLE);
}
return convertView;
}
@Override
public boolean hasStableIds() {
return false;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
//********sub sub child adapter
public class ChildExpandableListAdapter extends BaseExpandableListAdapter {
Context context;
int _groupPosition;
public ChildExpandableListAdapter(
Context context, int groupPosition) {
// TODO Auto-generated constructor stub
this.context=context;
this._groupPosition=groupPosition;
Log.e("gP",""+_groupPosition);
}
@Override
public int getGroupCount() {
// TODO Auto-generated method stub
return 0;
}
@Override
public int getChildrenCount(int groupPosition) {
// TODO Auto-generated method stub
return 0;
}
@Override
public Object getGroup(int groupPosition) {
// TODO Auto-generated method stub
if(_groupPosition==2)//men sub category
{
if(groupPosition==0)
return "Clothing";
else if(groupPosition==1)
return "Footwear";
else
return "Accesories";
}
else if(_groupPosition==3)//female sub category
{
if(groupPosition==0)
return "Western wear";
else if(groupPosition==1)
return "Footwear";
else if(groupPosition==2)
return "Ethnic wear";
else if(groupPosition==2)
return "Lingerie";
else
return "Accesories";
}
return null;
}
@Override
public Object getChild(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
//return this.__listDataChild.get(groupPosition)
if(_groupPosition==2)
{
return _menListDatasubChild.get(getGroup(groupPosition)).get(childPosition);
}
else if(_groupPosition==3)
{
return _womenListDatasubChild.get(getGroup(groupPosition)).get(childPosition);
}
return null;
}
@Override
public long getGroupId(int groupPosition) {
// TODO Auto-generated method stub
return 0;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return 0;
}
@Override
public boolean hasStableIds() {
// TODO Auto-generated method stub
return false;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
String headerTitle =(String)getGroup(groupPosition);
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) this.context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.list_group1,null);
}
TextView lblListHeader = (TextView) convertView
.findViewById(R.id.ListHeader1);
Log.e("HeaderTitle",headerTitle);
lblListHeader.setTypeface(null, Typeface.BOLD);
lblListHeader.setText(headerTitle);
return convertView;
}
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
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.sub_explist_row, null);
}
TextView txtListChild = (TextView) convertView
.findViewById(R.id.textView1);
txtListChild.setText(childText);
return convertView;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return true;
}
enter code here
}
HelperDatabaseAdapterClass helperDatabaseAdapterClass;
private ArrayList<Product>pProductArrayList=new ArrayList<Product>();;
private ArrayList<SubCategory>pSubItemArrayList=new ArrayList<SubCategory>();;
private ArrayList<SubCategory>pSubItemArrayList2=new ArrayList<SubCategory>();;
private LinearLayout mLinearListView;
boolean isFirstViewClick=false;
boolean isSecondViewClick=false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
helperDatabaseAdapterClass=new HelperDatabaseAdapterClass(this);
mLinearListView = (LinearLayout) findViewById(R.id.linear_listview);
/**
*
*/
ArrayList<HashMap<String, String>> Colormap = HelperDatabaseAdapterClass.find("select * from Color", null);
int colorcount = 0;
ArrayList<ItemList> mItemListArray=new ArrayList<ItemList>();
for (int i = 0; i < Colormap.size(); i++) {
mItemListArray.add(new ItemList(Colormap.get(i).get("Name"), Colormap.get(i).get("Quantity")));
colorcount = colorcount+Integer.parseInt(Colormap.get(i).get("Quantity"));
}
pSubItemArrayList.add(new SubCategory("Color", colorcount+"", mItemListArray));
ArrayList<HashMap<String, String>> Clothsmap = HelperDatabaseAdapterClass.find("select * from Cloths", null);
int cohcount= 0;
ArrayList<ItemList> mItemListArray2=new ArrayList<ItemList>();
for (int i = 0; i < Clothsmap.size(); i++) {
mItemListArray2.add(new ItemList(Clothsmap.get(i).get("Name"), Clothsmap.get(i).get("Quantity")));
cohcount = cohcount+Integer.parseInt(Clothsmap.get(i).get("Quantity"));
}
pSubItemArrayList2.add(new SubCategory("Cloths", cohcount+"", mItemListArray2));
pProductArrayList.add(new Product("Emotions", colorcount+"", pSubItemArrayList));
pProductArrayList.add(new Product("Garments", cohcount+"", pSubItemArrayList2));
/***
* adding item into listview
*/
for (int i = 0; i < pProductArrayList.size(); i++) {
LayoutInflater inflater = null;
inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View mLinearView = inflater.inflate(R.layout.row_first, null);
final TextView mProductName = (TextView) mLinearView.findViewById(R.id.textViewName);
final RelativeLayout mLinearFirstArrow=(RelativeLayout)mLinearView.findViewById(R.id.linearFirst);
final ImageView mImageArrowFirst=(ImageView)mLinearView.findViewById(R.id.imageFirstArrow);
final LinearLayout mLinearScrollSecond=(LinearLayout)mLinearView.findViewById(R.id.linear_scroll);
if(isFirstViewClick==false){
mLinearScrollSecond.setVisibility(View.GONE);
mImageArrowFirst.setBackgroundResource(R.drawable.arw_lt);
}
else{
mLinearScrollSecond.setVisibility(View.VISIBLE);
mImageArrowFirst.setBackgroundResource(R.drawable.arw_down);
}
mLinearFirstArrow.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(isFirstViewClick==false){
isFirstViewClick=true;
mImageArrowFirst.setBackgroundResource(R.drawable.arw_down);
mLinearScrollSecond.setVisibility(View.VISIBLE);
}else{
isFirstViewClick=false;
mImageArrowFirst.setBackgroundResource(R.drawable.arw_lt);
mLinearScrollSecond.setVisibility(View.GONE);
}
return false;
}
});
final String name = pProductArrayList.get(i).getpName();
mProductName.setText(name+" "+pProductArrayList.get(i).getpCount());
/**
*
*/
for (int j = 0; j < pProductArrayList.get(i).getmSubCategoryList().size(); j++) {
LayoutInflater inflater2 = null;
inflater2 = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View mLinearView2 = inflater2.inflate(R.layout.row_second, null);
TextView mSubItemName = (TextView) mLinearView2.findViewById(R.id.textViewTitle);
final RelativeLayout mLinearSecondArrow=(RelativeLayout)mLinearView2.findViewById(R.id.linearSecond);
final ImageView mImageArrowSecond=(ImageView)mLinearView2.findViewById(R.id.imageSecondArrow);
final LinearLayout mLinearScrollThird=(LinearLayout)mLinearView2.findViewById(R.id.linear_scroll_third);
if(isSecondViewClick==false){
mLinearScrollThird.setVisibility(View.GONE);
mImageArrowSecond.setBackgroundResource(R.drawable.arw_lt);
}
else{
mLinearScrollThird.setVisibility(View.VISIBLE);
mImageArrowSecond.setBackgroundResource(R.drawable.arw_down);
}
mLinearSecondArrow.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(isSecondViewClick==false){
isSecondViewClick=true;
mImageArrowSecond.setBackgroundResource(R.drawable.arw_down);
mLinearScrollThird.setVisibility(View.VISIBLE);
}else{
isSecondViewClick=false;
mImageArrowSecond.setBackgroundResource(R.drawable.arw_lt);
mLinearScrollThird.setVisibility(View.GONE);
}
return false;
}
});
final String catName = pProductArrayList.get(i).getmSubCategoryList().get(j).getpSubCatName();
final String catCount = pProductArrayList.get(i).getmSubCategoryList().get(j).getpSubCatCount();
mSubItemName.setText(catName+" "+catCount);
/**
*
*/
for (int k = 0; k < pProductArrayList.get(i).getmSubCategoryList().get(j).getmItemListArray().size(); k++) {
LayoutInflater inflater3 = null;
inflater3 = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View mLinearView3 = inflater3.inflate(R.layout.row_third, null);
TextView mItemName = (TextView) mLinearView3.findViewById(R.id.textViewItemName);
TextView mItemPrice = (TextView) mLinearView3.findViewById(R.id.textViewItemPrice);
final String itemName = pProductArrayList.get(i).getmSubCategoryList().get(j).getmItemListArray().get(k).getItemName();
final String itemPrice = pProductArrayList.get(i).getmSubCategoryList().get(j).getmItemListArray().get(k).getItemPrice();
mItemName.setText(itemName);
mItemPrice.setText(itemPrice);
mLinearScrollThird.addView(mLinearView3);
}
mLinearScrollSecond.addView(mLinearView2);
}
mLinearListView.addView(mLinearView);
}
}
public void Insert(View v) {
Intent i =new Intent(getApplicationContext(), InsertData.class);
startActivity(i);
}