SORU
22 Mayıs 2011, Pazar


Nasıl düğmeye tıklama Parçaları içinde XML özelliği kullanarak işlemek için

Pre-Petek (Android 3), Her Faaliyet bir Düzen XML onClick etiketi ile düğmeye tıklama işlemek için kaydedildi:

android:onClick="myClickMethod"

Bu yöntem içinde view.getId() ve bir switch deyimi düğmesi mantığı yapmak için kullanabilirsiniz.

Petek giriş ile birçok farklı Aktiviteler içinde yeniden kullanılabilen Parçalara bu Faaliyetler yıkıyorum. Düğme davranışı çoğu faaliyetlerini bağımsız ve kod Parçaları dosyası içinde bulunmasını istiyorumolmadanher düğme için OnClickListener kayıt (pre 1.6) eski yöntemi kullanarak.

final Button button = (Button) findViewById(R.id.button_id);
button.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        // Perform action on click
    }
});

Sorun benim düzen şişirilmiş olduğunda hala düğme tıklama, tek tek Parçaları değil, alan barındırma faaliyettir. Ya da iyi bir yaklaşım var

  • Düğme tıklama almak için bu bölümü kayıt?
  • Ait oldukları parçasına Aktivite click olayları Pass?

CEVAP
28 Ocak 2013, PAZARTESİ


Özelliği olayları işlemek için aşağıdaki çözüm kullanmayı tercih ediyoruz. Bu Aktivite ve Parçaları için de çalışır.

public class StartFragment extends Fragment implements OnClickListener{

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        View v = inflater.inflate(R.layout.fragment_start, container, false);

        Button b = (Button) v.findViewById(R.id.StartButton);
        b.setOnClickListener(this);
        return v;
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
        case R.id.StartButton:

            ...

            break;
        }
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AmazonWireless

    AmazonWirele

    8 EYLÜL 2010
  • BMG Rentals Property Management

    BMG Rentals

    23 Mayıs 2011
  • picster

    picster

    20 NİSAN 2006