में गतिविधि का विस्तार नहीं करता है मेरे पास एक कक्षा है जो वर्तमान में गतिविधि का विस्तार कर रही है और मेरे पास खोजने के लिए विधियां हैं ViewById, ArrayAdapter आदि मैं इसे एक स्वतंत्र वर्ग में बदलना चाहता हूं लेकिन सभी उपरोक्त विधियां बन गईं अपरिभाषित। समस्या क्या है? कक्षाओं को आयात नहीं करना चाहिए पर्याप्त? उदाहरण के लिए, मैं android.view आयात करता हूं। FindViewById के लिए देखें लेकिन यह अभी भी कोई फर्क नहीं पड़ता है। कृपया सलाह दें।एक कक्षा में findviewbyid का उपयोग करके जो एंड्रॉइड
उत्तर
आप अपनी गतिविधि का उदाहरण आपके द्वितीय श्रेणी के लिए निर्माता पर इस तरह से पारित करना चाहिए
MyClass instance = new MyClass(this);
और अपने दूसरे वर्ग में, निर्माता इस तरह होगा:
public class MyClass {
public Activity activity;
//.... other attributes
public MyClass(Activity _activity){
this.activity = _activity;
//other initializations...
}
}
और फिर जब तुम +०१२३२३६७७६३ उपयोग करना चाहते हैंविधि, तो आप इस तरह कर सकते हैं:
EditText txt = (EditText)this.activity.findViewById(R.id.txt);
findViewById, Activity
कक्षा की गैर स्थिर सार्वजनिक विधि है तो यह केवल एक Activity
वस्तु के लिए उपलब्ध हो। इसलिए, आयात करें android.view.View
और android.app.Activity
इसे उपलब्ध नहीं कराएगा। इसे उपलब्ध कराने के लिए, आप Actvity
ऑब्जेक्ट को पास कर सकते हैं - आमतौर पर आपकी गतिविधि में this
बिंदु। हालांकि, ध्यान दें कि आपको हमेशा यूआई थ्रेड में अपना दृश्य अपडेट करना चाहिए। अपने Activity
Instanciate में अपनी कक्षा इस तरह
:
ठीक है मैं समझता हूँ कि क्यों यह उपलब्ध नहीं है, लेकिन दृश्य वर्ग की एक विधि findViewById नहीं है? आप यह भी समझा सकते हैं कि हमें हमेशा यूआई थ्रेड में अपना दृश्य क्यों अपडेट करना चाहिए (क्या आप मुख्य गतिविधि का जिक्र कर रहे हैं?)? – Namratha
अगर आप किसी भी समारोह है कि Activity
तो केवल एक चीज आप की आवश्यकता के अंतर्गत आता है कॉल करना चाहते हैं Activity
के संदर्भ है।
उदाहरण के लिए।
class A extends Activity{
Context ctx;
void oncreate(Bundle b)
ctx = this;
B bob = new B(ctx);
}
}
यहाँ वर्ग बी
Class B
{
B(Activity a)
{
a.anyFunctionOfActivity();
}
}
यह एक AsyncTask –
@IgorGanapolsky में यहां काम नहीं करेगा। AsyncTask में यह काम करने के लिए क्या किया जाना चाहिए? –
है निम्न प्रयास करें:
public static View getLayoutByRes(@LayoutRes int layoutRes,@Nullable ViewGroup viewGroup)
{
final LayoutInflater factory = getSystemService(Context.LAYOUT_INFLATER_SERVICE);
return factory.inflate(layoutRes, viewGroup);
}
TextView tv = (TextView) getLayoutByRes(R.layout.xxx ,Null).findViewById(R.id.editd);
- 1. एंड्रॉइड findViewById सेवा में
- 2. एंड्रॉइड - findViewById (R.id.list) शून्य
- 3. findViewById
- 4. FindViewById Fragment
- 5. रोबोटियम का उपयोग करके एक टुकड़े का अस्तित्व जांचें - एंड्रॉइड
- 6. findViewById() मुख्य एक्टिविटी क्लास
- 7. एक एंड्रॉइड एपीके को रिवर्स-इंजीनियर/डिकंपाइल कैसे करें जो ProGuard का उपयोग करके obfuscated था?
- 8. findViewById खंड
- 9. लैम्ब्डा या LINQ का उपयोग करके कक्षा की एक सूची में कक्षा की एक सूची को बदलें या मानचित्र करें?
- 10. एक एमवीसी अनुप्रयोग में माइक्रोसॉफ्ट.Web.WebPages.OAuth.OAuthWebSecurity का उपयोग करके अटक गया
- 11. FindViewById - setContentView का उपयोग करते समय ऑनक्रेट() में NullPointerException पहले उपयोग किया जाता है?
- 12. एंड्रॉइड में ज़ेबरा प्रिंटर का उपयोग करके प्रिंट कैसे करें?
- 13. विधि findViewById (int) अपरिभाषित
- 14. एंड्रॉइड में एक्सएमएल फाइलों का उपयोग करके एनीमेशन कैसे करें?
- 15. एंड्रॉइड ऐप्स में स्मैक का उपयोग करके फ़ाइल स्थानांतरण।
- 16. एक डीआईवी में एक आईफ्रेम का उपयोग करके पृष्ठ
- 17. findViewById (android.R.id.progress) शून्य
- 18. नेट में प्रतिबिंब का उपयोग करके आप एक सीलबंद कक्षा से कैसे उत्तराधिकारी हो सकते हैं?
- 19. AJAX का उपयोग करके फ़ाइलें/फ़ाइल अपलोड भेजना जो IE9
- 20. नेस्टेड का उपयोग करके (...) कथन
- 21. एक पीईएम एन्कोडेड का उपयोग करके,
- 22. यूआई कैसे विकसित करें जो jQuery-mobile का उपयोग करके एंड्रॉइड के मूल निवासी दिखाई देगा?
- 23. एंड्रॉइड में एक छवि को एनीमेशन का उपयोग करके एक बिंदु से कैसे विकसित किया जाए?
- 24. बनाम findViewById बढ़
- 25. का उपयोग करके() ob_start()
- 26. एंड्रॉइड: कक्षा
- 27. पायथन टूल जो कक्षा
- 28. Google कैलेंडर का उपयोग करके एंड्रॉइड ऐप - सिंक समस्या
- 29. एंड्रॉइड पर mp4parser का उपयोग करके mp4s को संयोजित करें
- 30. एंड्रॉइड: findviewbyid: आईडी द्वारा दृश्य ढूंढना जब दृश्य को कॉन्टेन्टिव्यू
यह काम नहीं करता है। findViewById केवल गतिविधि पर ही कहा जा सकता है, संदर्भ पर नहीं। मैंने आपके दृष्टिकोण की कोशिश की लेकिन यह अभी भी मुझे त्रुटियां दे दी। – Namratha
तो मेरा संपादन देखें, बस संदर्भ के गतिविधि intstead का उदाहरण पास करें :) – Houcine
ठीक है, मैंने ऐसा किया :) जब मैं गतिविधि ऑब्जेक्ट पर findViewById को कॉल करता हूं, तो सूची दृश्य जिसे मैं ढूंढने की कोशिश कर रहा हूं वह शून्य है। क्या ऐसा इसलिए है क्योंकि मैंने XML फ़ाइल के लिए setContentView का उपयोग नहीं किया है जिसमें ListView शामिल है, पहले? – Namratha