IF

2013-03-12 5 views
7

का उपयोग कर TextView दृश्यता को कैसे जांचें मेरे पास एक रेडियो दृश्य चुनने के आधार पर टेक्स्ट व्यू दिखाने के लिए एक चेक चेक किया गया है। मेरे पास 1 प्रश्न और 1 समस्या है कि मैं सोच रहा था कि कोई मेरी मदद कर सकता है या नहीं।IF

प्रश्न: क्या आप रेडियो समूह डिफ़ॉल्ट चेक मान को रेडियो बटन पर सेट कर सकते हैं ताकि कोई भी प्रारंभ करने के लिए चेक न हो?

समस्या: मैं यह निर्धारित करने के लिए एक आईएफ स्टेटमेंट का उपयोग कैसे कर सकता हूं कि कोई टेक्स्ट व्यू पहले से ही "दृश्यमान" है या नहीं और यदि इसे तब "चला गया" पर सेट किया गया है, तो मैं अपना वर्तमान कोड शामिल करूंगा।

कोड:

@Override 
public void onCheckedChanged(RadioGroup arg0, int arg1) { 
    switch(arg1){ 
    case R.id.rfolk1: 
     Folk1.start(); 
     TvFolk1.setVisibility(View.VISIBLE); 

     TvFolk2.setVisibility(View.GONE); 

     Play.setVisibility(View.VISIBLE); 
     Pause.setVisibility(View.VISIBLE); 
     Stop.setVisibility(View.VISIBLE); 

     Play2.setVisibility(View.GONE); 
     Pause2.setVisibility(View.GONE); 
     Stop2.setVisibility(View.GONE); 
     break; 
    case R.id.rfolk2: 
     Folk2.start(); 
     TvFolk2.setVisibility(View.VISIBLE); 
     TvFolk1.setVisibility(View.GONE); 

     Play2.setVisibility(View.VISIBLE); 
     Pause2.setVisibility(View.VISIBLE); 
     Stop2.setVisibility(View.VISIBLE); 

     Play.setVisibility(View.GONE); 
     Pause.setVisibility(View.GONE); 
     Stop.setVisibility(View.GONE); 
     break; 
    } 

उत्तर

24

View वर्ग एक getVisibility() विधि भी शामिल है। तुलना करें कि:

उदाहरण के लिए:

if (TvFolk1.getVisibility() == View.VISIBLE) 
    TvFolk2.setVisibility(View.GONE); 

नीचे कोड को छोटा करने के लिए, आप भी एक विधि बना सकते हैं:

public static void goneIfVisible (View v) 
{ 
    if (v.getVisibility() == View.VISIBLE) 
     v.setVisibility(View.GONE); 
} 

और जावा में ध्यान में रखना, चर लोवरकेस कर रहे हैं, केवल के लिए अपरकेस का उपयोग कक्षा के नाम

+0

धन्यवाद, यह सहायक था, मैं मान लिया है यह कुछ इसी तरह होगा, लेकिन किसी कारण से मेरी ग्रहण कोड के लिए स्वत: भरण नहीं मिलता है तो मुझे वास्तव में उस से कोई संकेत नहीं मिला – Thomas

1

// यदि टेक्स्ट व्यू पहले ही दिखा रहा है और आप इसे छिपाना चाहते हैं।

if (TvFolk1.isShown()) { 
    TvFolk2.setVisibility(View.INVISIBLE); 
} 

// अचिह्नित के लिए रेडियो बटन समूहों से सभी रेडियो बटन

RadioGroup rgButton = (RadioGroup)findViewById(R.id.radiobuttongroup); 
rgButton.clearCheck();