मेरे पास घरेलू गतिविधि है जिसमें टैब नियंत्रण है और पहले टैब पर मुख्य गतिविधि दिखाई जाती है। मुख्य टैब पर मेरे पास बटन हैं जो किसी अन्य गतिविधि पर रीडायरेक्ट करेंगे। और किसी अन्य गतिविधि पर पुनर्निर्देशित नहीं कर सकता।
public class Main1 extends Fragment
{
ImageView saving, loan;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
saving = (ImageView) container.findViewById(R.id.imgSavingCollection);
loan = (ImageView) container.findViewById(R.id.imgLoanCollection);
saving.setOnClickListener((View.OnClickListener) container);
loan.setOnClickListener((View.OnClickListener) container);
View v = inflater.inflate(R.layout.activity_main1, container, false);
return v;
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.imgSavingCollection:
Intent savingactivity = new Intent(v.getContext(), SavingCollection.class);
startActivity(savingactivity);
break;
}
}
}
5 जवाब
अपना कोड बदलने की कोशिश करें जैसे,
public class Main1 extends Fragment
{
ImageView saving, loan;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.activity_main1, container, false);
saving = (ImageView) rootView.findViewById(R.id.imgSavingCollection);
loan = (ImageView) rootView.findViewById(R.id.imgLoanCollection);
saving.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent savingactivity = new Intent(getActivity(), SavingCollection.class);
startActivity(savingactivity);
}
});
return rootView;
}
}
अपना manifest.xml
भी जांचें
<activity android:name=".SavingCollection"/>
यह आपकी मदद कर सकता है
की बजाय
Intent savingactivity = new Intent(v.getContext(), SavingCollection.class);
startActivity(savingactivity);
इसमें जोड़ें
Intent savingactivity = new Intent(getActivity(), SavingCollection.class);
startActivity(savingactivity );
समस्या v.getContext() के साथ हो सकती है, इसलिए जब आप इरादा घोषित करते हैं तो इसे getActivity() द्वारा प्रतिस्थापित करें।
आपके onCreateView में समस्या है, नीचे दिए गए कोड को अपने onCreateView से बदलें
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.activity_main1, container, false);
saving = (ImageView) v.findViewById(R.id.imgSavingCollection);
loan = (ImageView) v.findViewById(R.id.imgLoanCollection);
saving.setOnClickListener((View.OnClickListener) container);
loan.setOnClickListener((View.OnClickListener) container);
return v;
}
इस का उपयोग करें
Intent savingactivity = new Intent(getActivity(), SavingCollection.class);
startActivity(savingactivity);
v.getContext()
को getActivity()
से बदलें।
और अपनी लेआउट लाइन को ऊपर की ओर परिभाषित करें
View v = inflater.inflate(R.layout.activity_main1, container, false);
पूर्ण कोड :
View v = inflater.inflate(R.layout.activity_main1, container, false);
saving = (ImageView) container.findViewById(R.id.imgSavingCollection);
loan = (ImageView) container.findViewById(R.id.imgLoanCollection);
saving.setOnClickListener((View.OnClickListener) container);
loan.setOnClickListener((View.OnClickListener) container);
return v;
संबंधित सवाल
नए सवाल
android
एंड्रॉइड Google का मोबाइल ऑपरेटिंग सिस्टम है, जिसका उपयोग प्रोग्रामिंग या डिजिटल डिवाइस (स्मार्टफोन, टैबलेट, ऑटोमोबाइल्स, टीवी, वियर, ग्लास, IoT) को विकसित करने के लिए किया जाता है। एंड्रॉइड से संबंधित विषयों के लिए, एंड्रॉइड-विशिष्ट टैग जैसे कि एंड्रॉइड-इरादे, एंड्रॉइड-गतिविधि, एंड्रॉइड-एडॉप्टर आदि का उपयोग करें। विकास या प्रोग्रामिंग के अलावा अन्य प्रश्नों के लिए, लेकिन एंड्रॉइड फ्रेमवर्क से संबंधित हैं, इस लिंक का उपयोग करें: https: // android.stackexchange.com।