2016-03-30 8 views
0

Ich versuche eine Bildansicht sichtbar zu machen, wenn ein anderes Bild in derselben Zeile angeklickt wird. Es gibt zwei Hauptbildansichten, die sichtbar sind und zwei Bildansichten sind zunächst unsichtbar, muss ich beim Klick auf den sichtbaren Bildausschnitt den jeweiligen Bildausschnitt sichtbar machen.wie man eine Bildansicht beim Klicken auf eine andere Bildansicht in der gleichen Zeile einer Listenansicht sichtbar macht

public class MatchListAdapter extends BaseAdapter { 

public static final String TAG = ".MatchListAdapter"; 
MatchStatListAdapter matchStatListAdapter; 
public List<RowItem> _data; 
private ArrayList<RowItem> users; 
RowItem data; 
private ArrayList<RowItem> arraylist; 
Context _c; 
ViewHolder v; 
public Typeface tf; 
View view_main; 
ImageLoader imageLoader; 
ViewHolder holder; 
public static Integer[] mThumbIds = {R.drawable.delhi, 
     R.drawable.gujrat, R.drawable.punjab, R.drawable.kolkata, R.drawable.mumbai, R.drawable.pune, 
     R.drawable.banglore, R.drawable.hydrabad}; 

public static Integer[] arrow_images = {R.drawable.arrow_bg}; 
int check; 
private final boolean[] selectedstates; 

public MatchListAdapter(List<RowItem> selectUsers, Context context) { 

    _c = context; 
    _data = selectUsers; 
    this.arraylist = new ArrayList<RowItem>(); 
    this.arraylist.addAll(_data); 
    tf = Typeface.createFromAsset(context.getAssets(), UriUtility.FONTPATH_dark); 
    imageLoader = new ImageLoader(context); 
    selectedstates = new boolean[_data.size()]; 
} 

@Override 
public int getCount() { 
    return _data.size(); 
} 

@Override 
public Object getItem(int i) { 
    return _data.get(i); 
} 

@Override 
public long getItemId(int i) { 
    return i; 
} 

@TargetApi(Build.VERSION_CODES.LOLLIPOP) 
@Override 
public View getView(final int i, final View convertView, ViewGroup viewGroup) { 

    view_main = convertView; 
    if (view_main == null) { 
     LayoutInflater li = (LayoutInflater) _c.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     view_main = li.inflate(R.layout.group_list_detail, null); 
     holder = new ViewHolder(); 
     holder.team_one = (ImageView) view_main.findViewById(R.id.Image_team1); 
     holder.team_two = (ImageView) view_main.findViewById(R.id.Image_team2); 
     holder.arrow_one = (ImageView) view_main.findViewById(R.id.arrow_two); 
     holder.arrow_two = (ImageView) view_main.findViewById(R.id.arrow_two); 

     holder.date = (TextView) view_main.findViewById(R.id.Tview1_date); 
     holder.place = (TextView) view_main.findViewById(R.id.Tview1_place); 
     holder.vs = (TextView) view_main.findViewById(R.id.Tview1_vs); 
     holder.stat_one = (TextView) view_main.findViewById(R.id.Tview1_stats); 
     holder.stat_two = (TextView) view_main.findViewById(R.id.Tview2_stats); 
     view_main.setTag(holder); 
     holder.team_one.setTag(i); 
     holder.team_two.setTag(i); 
    } else { 
     holder = (ViewHolder) view_main.getTag(); 
     Log.e("Inside", "here--------------------------- In view2 data.getTeam_B()" + data.getTeam_B()); 
    } 
    data = (RowItem) _data.get(i); 
    holder.team_one.setImageResource(mThumbIds[Integer.valueOf(data.getTeam_A()) - 1]); 
    holder.team_two.setImageResource(mThumbIds[Integer.valueOf(data.getTeam_B()) - 1]); 
      holder.team_one.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

          holder.arrow_one.setVisibility(View.VISIBLE); 



     } 
    }); 

    holder.team_two.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      int position = (Integer) v.getTag(); 
      Log.e(TAG, "position of image " + position + "position i = " + i); 

     } 
    }); 

    holder.date.setTypeface(tf); 
    holder.place.setTypeface(tf); 
    holder.vs.setTypeface(tf); 
    holder.stat_one.setTypeface(tf); 
    holder.stat_two.setTypeface(tf); 

    holder.date.setText(data.getMatch_date()); 
    holder.place.setText(data.getVenue_name()); 
    holder.stat_one.setText(data.getMatch_date()); 

    return view_main; 
} 


static class ViewHolder { 
    ImageView team_one, arrow_one, arrow_two; 
    ImageView team_two; 
    TextView date, place, vs; 
    TextView stat_one, stat_two; 
    ImageLoader imageLoader; 
} 
+0

Du eine clicklistener auf team_one Einstellung, die arrow_one sichtbar machen sollte, Das sieht gut aus, warum es funktioniert nicht ist? – Nanoc

+0

@Nanoc beim Klicken auf team_one arrow_one wird sichtbar, aber für zufällige Zeilen nicht für die Zeile beim Klicken auf den Benutzer – Smart

+0

Layout-Datei würde helfen – Lokanath

Antwort

0

Nach einigen Bemühungen funktioniert es, danke Jungs für Ihre Antworten. Ich veröffentliche meine Antwort unten:

public class MatchListAdapter BaseAdapter erstreckt {

public static final String TAG = ".MatchListAdapter"; 
MatchStatListAdapter matchStatListAdapter; 
public List<RowItem> _data; 
private ArrayList<RowItem> users; 
RowItem data; 
private ArrayList<RowItem> arraylist; 
Context _c; 
ViewHolder v; 
public Typeface tf; 
ListView listView; 
ImageLoader imageLoader; 
int match_id; 
public static Integer[] mThumbIds = {R.drawable.arrow_bg,R.drawable.delhi, 
     R.drawable.gujrat, R.drawable.punjab, R.drawable.kolkata, R.drawable.mumbai, R.drawable.pune, 
     R.drawable.banglore, R.drawable.hydrabad}; 


int check; 
RowItem rowItem; 
JSONArray ja; 

public MatchListAdapter(List<RowItem> selectUsers, Context context) { 

    _c = context; 
    _data = selectUsers; 
    this.arraylist = new ArrayList<RowItem>(); 
    this.arraylist.addAll(_data); 
    tf = Typeface.createFromAsset(context.getAssets(), UriUtility.FONTPATH_dark); 
    imageLoader = new ImageLoader(context); 

} 

@Override 
public int getCount() { 
    return _data.size(); 
} 

@Override 
public Object getItem(int i) { 
    return _data.get(i); 
} 

@Override 
public long getItemId(int i) { 
    return i; 
} 

@TargetApi(Build.VERSION_CODES.LOLLIPOP) 
@Override 
public View getView(final int i, View convertView, ViewGroup viewGroup) { 
    View view = convertView; 
    Log.e(TAG, "starting = = 1111111111 position "+ i); 
    //if (convertView == null) { 
     LayoutInflater li = (LayoutInflater) _c.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     view = li.inflate(R.layout.group_list_detail, null); 
     team_one = (ImageView) view.findViewById(R.id.Image_team1); 
     team_two = (ImageView) view.findViewById(R.id.Image_team2); 
     r1 = (RelativeLayout) view.findViewById(R.id.relative_one); 
     r2 = (RelativeLayout) view.findViewById(R.id.relative_two); 
     date = (TextView) view.findViewById(R.id.Tview1_date); 
     place = (TextView) view.findViewById(R.id.Tview1_place); 
     vs = (TextView) view.findViewById(R.id.Tview1_vs); 
     stat_one = (TextView) view.findViewById(R.id.Tview1_stats); 
     stat_two = (TextView) view.findViewById(R.id.Tview2_stats); 
     arrow_one = (ImageView) view.findViewById(R.id.arrow_one); 
     arrow_two = (ImageView) view.findViewById(R.id.arrow_two); 

    //} 
    data = (RowItem) _data.get(i); 
    team_one.setImageResource(mThumbIds[Integer.valueOf(data.getTeam_A())]); 
    team_two.setImageResource(mThumbIds[Integer.valueOf(data.getTeam_B())]); 



    date.setText(data.getMatch_date()); 
    place.setText(data.getVenue_name()); 
    stat_one.setText(data.getComments()); 
    boolean one = data.getCheckedBox(); 
    boolean two = data.getCheckedBoxtwo(); 
    if(one){ 

     arrow_one.setVisibility(View.VISIBLE); 

    } 
    if (two){ 

     arrow_two.setVisibility(View.VISIBLE); 
    } 



    r1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      data = (RowItem) _data.get(i); 


      ImageView arrow_one = (ImageView) v.findViewById(R.id.arrow_one); 
      if (data.getCheckedBox() == false) { 


       arrow_one.setVisibility(View.VISIBLE); 
       data.setCheckedBox(true); 
      } else { 

       arrow_one.setVisibility(View.INVISIBLE); 
       data.setCheckedBox(false); 
      } 
     } 
    }); 

    r2.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      ImageView arrow_two = (ImageView) v.findViewById(R.id.arrow_two); 
      if (data.getCheckedBoxtwo() == false) { 


       arrow_two.setVisibility(View.VISIBLE); 
       data.setCheckedBoxtwo(true); 
      } else { 

       arrow_two.setVisibility(View.INVISIBLE); 
       data.setCheckedBoxtwo(false); 

      } 
     } 
    }); 


    view.setTag(data); 
    return view; 
} 

}

Verwandte Themen