2016-03-28 21 views
0

Uygulamamı Android sürümüne dönüştürmeye çalışıyorum ve Android'de biraz yeniim. Öğelerin düğmeler içerdiği bir liste görünümü var. Bu bir kullanıcı listesidir ve düğmeyi tıklattığınızda, yalnızca düğmeyi içeren öğede, düğme metninin "takip" durumuna gelmesi gerektiği her kullanıcıyı takip edebilirsiniz. Listeyi almak iyi çalışıyor, ancak aşağıdaki kodumla düğme metni değişmiyor. Bunu nasıl yapabilirim? Çok teşekkür ederim.Android Liste Görünümü - Öğe Düğmesi Metni Tıkladıktan Sonra

private class MyListAdapter extends ArrayAdapter<String> { 
    public MyListAdapter() { 
     super(getActivity().getApplicationContext(), R.layout.fragment_users_cell, myItemList); 
    } 

     @Override 
     public View getView(final int position, View convertView, ViewGroup parent) { 
      View cellView = convertView; 

      if (cellView == null){ 
       cellView = getActivity().getLayoutInflater().inflate(R.layout.fragment_users_cell, parent, false); 
      } 

      profileBtn = (Button) cellView.findViewById(R.id.fragment_users_cell_profileBtn); 
      followBtn = (Button) cellView.findViewById(R.id.fragment_users_cell_followBtn); 

      profileBtn.setText(myItemList.get(position)); 


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

        System.out.println(myItemList.get(position)); 

        System.out.println(position); 

       } 
      }); 


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

        System.out.println(myItemList.get(position)); 

        profileBtn.setText("followed"); 

       } 
      }); 



      return cellView; 

     } 

    } 
+0

Sen bunu nasıl liste görünümü – GVillani82

+0

Merhaba Joseph için pas listenin öğe içindeki bu bilgileri (düğmenin durumu) kaydetmeniz gerekir? Bana bir örnekle yardım edebilir misin? – saner

cevap

3

Eğer veri kümesini güncelleyebilir ve son değişiklikleri yansıtır, böylece değişiklikleri yaptıktan sonra listeyi refersh gerekiyor. Durumunuzda metin değişir.

followBtn.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        profileBtn.setText("followed"); 
        myItemList.add(position, "followed");//Change your dataset 
        notifyDataSetChanged(); //And refresh the adapter  
       } 
      }); 
+0

Teşekkür ederim Shadap, "add" yerine "set" kullanıyorum ve iyi görünüyor. – saner

+0

Serin. bunu bilmek iyi. –

0

Eğer myItemList değerini değiştirmeniz gerekir böylece ix sen takip düğmeyi tıklamak üzerinde listesini güncellemek gerekir yani takip görünümü yükü, profil butonuna metin olarak ayarlanmış listeden değer geldiğini dahaki sefere ve ListView numaralı telefonu bilgilendirin.

followBtn.setOnClickListener(new View.OnClickListener(){ 

    @Override 
    public void onClick(View v) { 
     System.out.println(myItemList.get(position)); 
     myItemList.get(position).set("followed"); 
     profileBtn.setText("followed"); 
    } 
}); 
+0

Merhaba Ashim, myItemList.get (konum) .set ("takip"); , çalışmıyor, hata alıyorum "yöntemi çözemez". – saner

+0

Listedeki o kullanıcının değerini takip etmek için takip etmek gerekir. myItemList.set (konum, "takip"); –

İlgili konular