sj12

مشکل عجیب در کلیک expand list

5 ارسال در این موضوع قرار دارد

سلام به همه

آقا من یه مشکل عجیب دارم

از هر کی هم پرسیدم جوابی نداشتن

من یه expand list دارم که داینامیک پر میشه، هم group ها و هم child ها

تا اینجا درسته اما مشکل اینجاست که وقتی دستوری مینویسم که مثلا وقتی روی هر child کلیک شد رنگ بکگراندش عوض شه و من روی child ی با مشخصات 00 کلیک میکنم، child با مشخصات 22,40,50,80 هم رنگشون عوض میشه، یعنی انگار که کلیک خوردن

کلا رو هر کدوم کلیک میکنم child های دیگه از group های دیگه هم کلیک میخوردن

دوستان راه حلی دارید؟؟؟؟؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

؟؟؟؟؟؟؟؟؟؟؟؟ واقعا هیشکی نمیدونه مشکل از کجاس؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

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

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

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

این کد آداپتر هست

[align=left]

package adapter;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import model.Child;

import model.Group;

import parmis.parmication.fastbook.R;

import android.app.Activity;

import android.content.Context;

import android.graphics.Color;

import android.graphics.Typeface;

import android.view.LayoutInflater;

import android.view.MotionEvent;

import android.view.View;

import android.view.ViewGroup;

import android.view.animation.DecelerateInterpolator;

import android.widget.BaseAdapter;

import android.widget.BaseExpandableListAdapter;

import android.widget.ImageView;

import android.widget.ListAdapter;

import android.widget.ListView;

import android.widget.RadioButton;

import android.widget.RadioGroup;

import android.widget.RatingBar;

import android.widget.TextView;

import android.widget.Toast;

public class Exam_List_Adapter extends BaseExpandableListAdapter {

private Context _context;

private List _listDataHeader; // header titles

// child data in format of header title, child title

private HashMap> _listDataChild;

private ArrayList groups;

public Exam_List_Adapter(Context context, ArrayList groups) {

this._context = context;

this.groups=groups;

// this._listDataHeader = listDataHeader;

// this._listDataChild = listChildData;

}

@Override

public Object getChild(int groupPosition, int childPosition) {

// return this._listDataChild.get(this._listDataHeader.get(groupPosition)).get(childPosititon);

ArrayList chList = groups.get(groupPosition).getAnswers();

return chList.get(childPosition);

}

@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) {

Child child = (Child) getChild(groupPosition, childPosition);

// 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_answer, null);

}

TextView txtListChild = (TextView) convertView.findViewById(R.id.lblListItem);;

txtListChild.setText(child.getAnswer1());

// after, we've got view of child

return convertView;

}

@Override

public int getChildrenCount(int groupPosition) {

ArrayList chList = groups.get(groupPosition).getAnswers();

return chList.size();

}

@Override

public Object getGroup(int groupPosition) {

return groups.get(groupPosition);

}

@Override

public int getGroupCount() {

return groups.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);

Group group = (Group) getGroup(groupPosition);

if (convertView == null) {

LayoutInflater infalInflater = (LayoutInflater) this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

convertView = infalInflater.inflate(R.layout.list_group_question, null);

}

TextView lblListHeader = (TextView) convertView

.findViewById(R.id.lblListHeader);

lblListHeader.setText(group.getQuestion());

return convertView;

}

@Override

public boolean hasStableIds() {

return true;

}

@Override

public boolean isChildSelectable(int groupPosition, int childPosition) {

return true;

}

}[/align]

این کلاس مدل Child

[align=left]package model;

/**

* Created by Administrator on 5/9/2016.

*/

public class Child {

//

private String Answer1,Answer2,Answer3;

//

public String getAnswer1() {

return Answer1;

}

public void setAnswer1(String Answer) {

this.Answer1 = Answer;

}

}[/align]

کلاس مدل Group

[align=left]package model;

import java.util.ArrayList;

/**

* Created by Administrator on 5/9/2016.

*/

public class Group {

private String Qustion;

private ArrayList Answers;

public String getQuestion() {

return Qustion;

}

public void setQuestion(String question) {

this.Qustion = question;

}

public ArrayList getAnswers() {

return Answers;

}

public void setAnswers(ArrayList Answers) {

this.Answers = Answers;

}

}[/align]

اینم متد کلیم در MainActivity

[align=left]exam_listexpand.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {

@Override

public boolean onChildClick(ExpandableListView parent, View view, int groupPosition, int childPosition, long l) {

int index = parent.getFlatListPosition(ExpandableListView.getPackedPositionForChild(groupPosition, childPosition));

parent.getChildAt(index).setBackgroundColor(Color.CYAN);

return false;

}

});[/align]

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

آقا هیشکی راه حلی برا این مشکل نداره؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری