2013-05-02 7 views
0

Я показываю Listview с помощью кнопки просмотра фильма и правой стороны для загрузки, но когда я просматриваю Listview, а затем переключаю событие события (перерисовывание) каждый раз, я отключил кнопку, когда пользователь нажимал кнопку загрузки и загружался, но при прокрутке вниз затем нажмите кнопку «Изменить исходное имя кнопки» при загрузке и обмене событиями.Android Как добавить кнопку clickable в listview?

static class listitemcontainers 
{ 
    //ImageView imgIcon; 
    //TextView txtTitle; 
    ProgressBar pb; 
    TextView progressval; 
    Button downloadbutton; 
    TextView title; 
    ImageView imageicon; 
    LinearLayout layout; 
} 

     @Override 
public View getView(int position, View convertview,final ViewGroup parent) { 
    // TODO Auto-generated method stub 
    final listitemcontainers holder; 
    Log.d("Game Name in adapter",":"+GameListname.get(position)); 

    View vi=convertview; 

    final listitemcontainers holdz; 
    RelativeLayout RL; 

    if(convertview==null) 
    { 

     convertview = inflater.inflate(R.layout.list_row, null);  

     holder = new listitemcontainers(); 

      holder.title = (TextView)convertview.findViewById(R.id.game_name); 
      holder.imageicon=(ImageView)convertview.findViewById(R.id.listicon); 

      RL=(RelativeLayout)convertview.findViewById(R.id.game_row); 
      holder.layout = (LinearLayout)convertview.findViewById(R.id.dynamic); 

       holder.progressval=(TextView)convertview.findViewById(R.id.progressval); 
       holder.pb=(ProgressBar)convertview.findViewById(R.id.progressBar1); 
       holder.pb.setVisibility(View.INVISIBLE); 

       holder.downloadbutton=(Button)convertview.findViewById(R.id.button1); 

     convertview.setTag(holder); 

    final listitemcontainers hold = holder; 

     //setButtonClick(hold); 


    } 
    else { 
     holder = (listitemcontainers)convertview.getTag(); 

     } 


      holder.title.setText(GameListname.get(position)); 

      holder.imageicon.setImageDrawable(GameIcon.get(position)); 

      holder.downloadbutton.setText("Dwnload"+position); 

      holder.downloadbutton.setId(position); 

      holder.pb.setId(position+1000); 


      setButton(holder,convertview,position); 


     return convertview; 
} 
int globalid; 

    public void setButton(final listitemcontainers holder,final View v,final int id){ 
      holder.downloadbutton=(Button)v.findViewById(id); 
      holder.pb=(ProgressBar)v.findViewById(id+1000); 
      holder.downloadbutton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 

      Toast.makeText(activity, "Click By:"+id, Toast.LENGTH_SHORT).show(); 
      if(checkflag==true){ 
       checkflag=false; 
       globalid=id; 
      UpdateProgresBar.listcntr=holder; 


      up=new UpdateProgresBar(holder.pb,activity,v); 
      up.execute(""); 

      CancleButtonClick(holder,v,id); 
      } 

     else{ 
      Toast.makeText(activity, "Please wait", Toast.LENGTH_SHORT).show(); 
     } 




     } 
    }); 

} 
+0

как вы меняете имена? почтовый индекс. –

+0

Вы должны проверить мою новую библиотеку, которая упрощает создание адаптеров для записи. В том числе, конечно же, что вам нужно - добавление кнопок с кнопками внутри ваших элементов. http://amigold.github.io/FunDapter/ – Ami

ответ

0

вы должны использовать держатель вида внутри Listview или вам нужно будет проверить правильность правильного преобразования null до раздувания пользовательского интерфейса.

Смежные вопросы