2016-07-02 21 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.java:21) 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);