पहली बार जावा में विकासशील, और पहली बार एंड्रॉइड के लिए विकासशील, इसलिए यह काफी नौसिखिया सवाल है।'class 'संपत्ति कैसे काम करती है?
public void onBtnClicked(View v){
/** Handles button navigation */
@SuppressWarnings("rawtypes")
Class c;
int viewId = v.getId();
switch (viewId) {
case R.id.btnNewTourny :
c = NewTourny.class;
break;
case R.id.btnTeamEditor :
c = EditTeam.class;
break;
case R.id.btnCatEditor :
c = EditCat.class;
break;
case R.id.btnLoadTourny :
c = EditCat.class;
break;
case R.id.btnNewCategory :
c = NewCat.class;
break;
default :
c = Main.class;
}
Intent myIntent = new Intent(v.getContext(), c);
startActivityForResult(myIntent, 0);
}
लघु प्रश्न:
मैं वर्तमान में इस कोड है
.class संपत्ति कर क्या करता है, f.ex. 'सी = न्यू टॉर्नी.class'?
मैं टूरनी के रूप में सी क्यों नहीं डाल सकता (जो इन सभी वर्गों का अभिभावक है)?
लांग प्रश्न:
यह वर्तमान में मेरे पूरे एप्लिकेशन में सभी बटन नेविगेशन संभालती है, और ठीक काम करता है। हालांकि, जैसा कि आप देख सकते हैं, मैंने 'कच्ची टाइप' चेतावनी दबा दी है, जो तब आता है जब मैं कक्षा के रूप में सी डालता हूं। अब, मैं वास्तव में चेतावनियों के बिना एक कोड चाहता हूं, इसलिए मैंने सोचा 'ठीक है, ये सभी कक्षाएं' टूरनी 'का बच्चा हैं, इसलिए मैंने सोचा कि यह काम करेगा, सी को टूरनी के रूप में कास्टिंग करेगा - लेकिन यह काम नहीं करता है। तब मुझे एहसास हुआ कि मुझे वास्तव में पता नहीं था कि "NewTourny.class" कोड वास्तव में क्या करता है, और यह संकेत हो सकता है कि मैं टूर्नी के रूप में सी क्यों नहीं डाल सका। तो, क्लास क्या करता है?
कि मैं क्लास के रूप में कास्टिंग ग टाल नहीं सकते, और इस तरह की चेतावनी से बचने के क्या इसका मतलब है, ? – LongInt
कक्षा सी; इसे दूर कर देगा? या कक्षा > सी; यदि यह संभव है कि यह एक गतिविधि भी नहीं है! –
Blundell
कक्षा इस त्रुटि को फेंकता है: _Type मेल नहीं: वर्ग से वर्ग _ में परिवर्तित नहीं किया जा सकता है, लेकिन कक्षा > काम करता है। –
LongInt