2016-04-10 18 views
1

Temel olarak şu anda bir uygulama oluşturuyorum ve bir kaydırma görünümünde görüntülenen birçok metin görünümü ve resim görünümüne sahip olduğum bir etkinlik var. Bu nedenle, her öğenin altında bir döngü oluşturmak için bir silme düğmesi ekleyin. Bununla birlikte, silme butonunu kullanarak elemanlardan birini sildiğimde, silinmiş olanın altındaki her elemanın anahtarını bir tane çıkartarak değiştirmem gerekir. Şimdi, bu iyi çalışıyor, ancak silme düğmelerinin anahtarını değiştirmeye çalıştığımda, her sil düğmesi artık değiştirilmiş öğeye başvuruda bulunacak, bu benim uygulamasında çalışmaz gibi görünmüyor.Android: for döngüsünü kullanarak eklenmiş düğmelerin düğme sayısını değiştirilsin mi?

for(int i=0;i<length;i++)//create a delete button for every element in activity 
    { 
     final int bkey=500+i+1; 
     final int key=i+1; 
     Button btn = (Button)findViewById(bkey); 
     btn.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       LinearLayout myLayout=(LinearLayout)findViewById(R.id.linearlayout); 
       SharedPreferences id = getSharedPreferences(PREFS_NAM, 0); 
       SharedPreferences.Editor idedit = id.edit(); 
       if (id.getBoolean(""+key+"img",false)==true){ 
        ImageView img=(ImageView)findViewById(key); 
        Button b=(Button)findViewById(bkey); 
        myLayout.removeView(img); 
        myLayout.removeView(b); 
       } 
       else { 
        EditText et = (EditText) findViewById(key); 
        Button b = (Button) findViewById(bkey); 
        myLayout.removeView(b); 
        myLayout.removeView(et); 
       } 
       if (key!=length) { 
        for (int i = key; i < (length); i++) { 
         int x = i + 1; 
         int temp=500+i; 
         int butkey=500+i+1; 
         if (id.getBoolean("" + x + "img", false) == false) { 
          EditText t = (EditText) findViewById(x); 
          Button b=(Button) findViewById(butkey);//This is what I tried 
          b.setId(temp); 
          t.setId(i); 
         } else { 
          ImageView im = (ImageView) findViewById(x); 
          im.setId(i); 

         } 
        } 
       } 
       if (key!=length) { 
        for (int i = key; i < (length); i++) { 
         int temp = i + 1; 
         int size = i + 100; 
         int tempsize = 100 + temp; 
         idedit.putString("" + i, id.getString("" + temp, null)); 
         idedit.putInt("" + size, id.getInt("" + tempsize, 0)); 
         idedit.putBoolean("" + i + "img", id.getBoolean("" + temp + "img", true)); 
        } 
       } 

       length--; 
       idedit.putInt("num",length); 

       idedit.commit(); 

      } 
     }); 
    } 

ben bağlam dışına o zor anlaşılır biliyorum ama bir şey varsa önceden, ben çok minnettar olacaktır bana yardımcı olabilir sayesinde fark edebilirsiniz!

cevap

0

liste görünümünde veya RECYCLE GÖRÜNÜM yapabilirsiniz metin ve resim ve düğme ve düğme basılı şimdiye liste array.Hope listesinden silinecektir zaman bu size

yardımcı olacaktır ile custome liste görünümü yapmak
İlgili konular