2016-07-02 7 views
0

У меня есть активность дома, у которой есть вкладка, а на первой вкладке показана основная активность. На главной вкладке у меня есть кнопки, которые будут перенаправлены на другую активность. и не может перенаправлять на другое действие.Как начать новую активность с элемента управления табулятора?

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

разместить свой код здесь –

+0

когда я запустить деятельность приложение автоматически остановлена. – Gopal

+1

показать ваш logcat –

ответ

0

Попробуйте изменить ваш код,

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

Используйте этот

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

все еще возникает ошибка Процесс: mobileofflineapp.gopalchudal.mobileofflineapp, PID: 2425 java.lang.ClassCastException: android.support.v4.view.ViewPager нельзя отбрасывать в android.view.View $ OnClickListener at mobileofflineapp.gopalchudal.mobileofflineapp .Main1.onCreateView (Main1.java21) android.support.v4.app.Fragment.performCreateView (Fragment.java:1974) – Gopal

+0

Ваша Инициализация может быть неправильной, разместите здесь свой xml-код. – Ironman

0

проблема может быть с v.getContext(), так что просто заменить его getActivity() когда вы заявляете о намерении.

0

Существует проблема с 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; 
} 
1

вместо

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

добавить этот

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