मेरे पास घरेलू गतिविधि है जिसमें टैब नियंत्रण है और पहले टैब पर मुख्य गतिविधि दिखाई जाती है। मुख्य टैब पर मेरे पास बटन हैं जो किसी अन्य गतिविधि पर रीडायरेक्ट करेंगे। और किसी अन्य गतिविधि पर पुनर्निर्देशित नहीं कर सकता।

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;

        }
    }
}
0
Gopal 2 जुलाई 2016, 08:16

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"/>

यह आपकी मदद कर सकता है

0
Sathish Kumar J 2 जुलाई 2016, 08:29

की बजाय

Intent savingactivity = new Intent(v.getContext(), SavingCollection.class);
startActivity(savingactivity);

इसमें जोड़ें

Intent savingactivity = new Intent(getActivity(), SavingCollection.class);
startActivity(savingactivity );
1
manichandra 2 जुलाई 2016, 08:35

समस्या v.getContext() के साथ हो सकती है, इसलिए जब आप इरादा घोषित करते हैं तो इसे getActivity() द्वारा प्रतिस्थापित करें।

0
Vickyexpert 2 जुलाई 2016, 08:24

आपके 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;
}
0
Akshay Panchal 2 जुलाई 2016, 08:27

इस का उपयोग करें

 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;
0
Harshad Pansuriya 2 जुलाई 2016, 08:29