Fragment中点击事件跳转活动报错

本来想实现点击“售后服务”这一块的Linearlayout跳转到Guarantee这个活动当中这一功能
public class ThirdFragment extends Fragment implements View.OnClickListener{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.third_fragment, container, false);
LinearLayout guaranteell = (LinearLayout) view.findViewById(R.id.serviceGuaranteeId);
guaranteell.setOnClickListener(this);
return view;
}
@Override
public void onClick(View view){
MainActivity mainActivity = new MainActivity();
Intent intent = new Intent(mainActivity, Guarantee.class);
startActivity(intent);
//Toast.makeText(mainActivity, "you clicked this", Toast.LENGTH_SHORT).show();
}
}

图片说明
但是报错java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference

7个回答

图片说明

C_xia_zai
C虾仔 记错了,不好意思,getActivity 直接返回来的是Activity类型,不是FragmentActivity
一年多之前 回复

fragment里面可以直接getActivity(),来获取Activity的引用,应该是new MainActivity造成的空指针异常

Fragmen要依附于Activity,你要拿到当前Fragment依附的那个Activity才能当作上下文使用,怎么能直接new

Intent intent = new Intent(getActivity, Guarantee.class);
getContext.startActivity(intent);

MainActivity mainActivity = new MainActivity();
这种写法是拿不到context的,直接getActivity()就好了

你对上下文的理解不够透彻,加强一下Java的基础和android的基础

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
fragment点击事件
import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import st...
在Fragment中实现跳转
代码示例: private View getPopupWindowContentView() { // 一个自定义的布局,作为显示的内容 //int layoutId = R.layout.popup_content_layout; // 布局ID View.OnClickListener menuItemOnClickListener = ne...
fragment类中的点击事件空指针异常
点击事件要写在 onActivityCreated中
Fragment点击超链接跳转浏览器报错
Tweet item = getItem(position); //设置可以点击超链接 Spanned spanned = Html.fromHtml(item.getBody( )); holder.tvTweetContent.setText(spanned); holder.tvTweetContent.setMovementMethod(LinkMovementMethod.get
fragment跳转另一个fragment的问题!
项目地址:rn链接: https://pan.baidu.com/s/1OHSva0M5PIQMWNP0iwzlLg 提取码: csf5 rnrn求大能帮我解决一下。我不知道怎么去写这个跳转。rnrn![图片说明](https://img-ask.csdn.net/upload/201903/12/1552331749_241936.png)rnrnrnrn鼠标点击需要跳转(例如点击“苹果手机”);rnrnrn```rnpublic class MsgFragment extends Fragment rnrn View view;rn TextView textView;rn private int i;rn private String str;rnrnrn private String[] mVals = new String[] "苹果手机", "笔记本电脑", "电饭煲", "腊肉",rn "特产", "剃须刀", "宝宝", "康佳" ;rn private LayoutInflater mInflater;rn private FlowLayout mFlowLayout;rnrn //自定义recyclerveiw的适配器rnrnrnrn @Overridern public void onCreate(@Nullable Bundle savedInstanceState) rn super.onCreate(savedInstanceState);rnrn mInflater = LayoutInflater.from(getContext());rnrnrn rnrn public MsgFragment() rn rnrnrn @Overridern public View onCreateView(LayoutInflater inflater, ViewGroup container,rn Bundle savedInstanceState) rnrn view = inflater.inflate(R.layout.fragment_msg, container, false);rnrn mFlowLayout = view.findViewById(R.id.id_flowlayout);rnrnrn initData();rnrnrn return view;rn rn public void initData() rn /**rn * 找到搜索标签的控件rn */rn for ( i = 0; i < mVals.length; i++) rn final TextView tv = (TextView) mInflater.inflate(rn R.layout.search_label_tv, mFlowLayout, false);rn tv.setText(mVals[i]);rn str = tv.getText().toString();rn //点击事件rn tv.setOnClickListener(new View.OnClickListener() rn @Overridern public void onClick(View v) rn try rnrn switch (str) rn case "苹果手机":rnrn rn break;rn case "笔记本电脑":rnrn break;rn case "电饭煲":rnrn break;rn case "腊肉":rnrn break;rn case "特产":rnrn break;rn case "剃须刀":rnrn break;rn case "宝宝":rnrn break;rn case "康佳":rnrn break;rn default:rnrn break;rn rnrnrnrnrnrn catch (Exception e) rn e.printStackTrace();rn rnrn rn );rn mFlowLayout.addView(tv);//添加到父Viewrn rnrnrn rnrnrnrn```rn需要跳转到的fragmentrnrn```rnpublic class CollectFragment extends Fragment rn private View view;//定义view用来设置fragment的layoutrn public RecyclerView mCollectRecyclerView;//定义RecyclerViewrn //定义以goodsentity实体类为对象的数据集合rn private ArrayList goodsEntityList = new ArrayList();rn //自定义recyclerveiw的适配器rn private CollectRecycleAdapter mCollectRecyclerAdapter;rnrn @Nullablern @Overridern public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) rn //获取fragment的layoutrn view = inflater.inflate(R.layout.item_content, container, false);rn //对recycleview进行配置rn initRecyclerView();rn //模拟数据rn initData();rn return view;rn rnrn /**rn * TODO 模拟数据rn */rn private void initData() rn for (int i=0;i<10;i++)rn GoodsEntity goodsEntity=new GoodsEntity();rn goodsEntity.setGoodsName("模拟数据"+i);rn goodsEntity.setGoodsPrice("100"+i);rn goodsEntityList.add(goodsEntity);rn rn rnrn /**rn * TODO 对recycleview进行配置rn */rnrn private void initRecyclerView() rn //获取RecyclerViewrn mCollectRecyclerView=view.findViewById(R.id.collect_recyclerView);rn //创建adapterrn mCollectRecyclerAdapter = new CollectRecycleAdapter(getActivity(), goodsEntityList);rn //给RecyclerView设置adapterrn mCollectRecyclerView.setAdapter(mCollectRecyclerAdapter);rn //设置layoutManager,可以设置显示效果,是线性布局、grid布局,还是瀑布流布局rn //参数是:上下文、列表方向(横向还是纵向)、是否倒叙rn mCollectRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));rn //设置item的分割线rn mCollectRecyclerView.addItemDecoration(new DividerItemDecoration(getActivity(),DividerItemDecoration.VERTICAL));rn //RecyclerView中没有item的监听事件,需要自己在适配器中写一个监听事件的接口。参数根据自定义rn mCollectRecyclerAdapter.setOnItemClickListener(new CollectRecycleAdapter.OnItemClickListener() rn @Overridern public void OnItemClick(View view, GoodsEntity data) rn //此处进行监听事件的业务处理rn Toast.makeText(getActivity(),"我是item",Toast.LENGTH_SHORT).show();rn rn );rn rnrnrnrn```
actionbar中的fragment之间的跳转
这个要怎么做啊rn比如说rn我在fragment A中有个按扭rn点击后跳转到 actionbar的TAP 标签2的fragment B里面去rn能不能贴上代码呢rn我不知道要怎么去实现就好rn在网上找了半天也没找到跳转的方法rn对fragment觉得好难懂啊
fragment里button点击事件
fragment里button点击事件,就是点击button给文本框换个文本。求大神啊
fragment活动栈单例
http://blog.csdn.net/i_do_can/article/details/51136906
Fragment 中嵌入fragment切换页面报错
为了不弄混淆:暂且把Activity中嵌入的Fragment叫做Fragment1,Fragment2。嵌入在Fragment1中的Fragment叫Fragment11遇到问题: 打开软件时,显示Fragment1,切换到Fragment2,再切换回Fragment1时报错。报错信息如下:W/System.err(20601): android.view.InflateException: Bi
Viewpager中的fragment内嵌fragment,滑动报错
02-07 16:26:30.621: E/AndroidRuntime(19951): java.lang.NullPointerExceptionn02-07 16:26:30.621: E/AndroidRuntime(19951): at android.support.v4.app.Fragment.instantiate(Fragment.java:399)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.support.v4.app.FragmentState.instantiate(Fragment.java:97)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.support.v4.app.FragmentManagerImpl.restoreAllState(FragmentManager.java:1790)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.support.v4.app.Fragment.performCreate(Fragment.java:1489)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:893)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:472)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:163)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.support.v4.view.ViewPager.populate(ViewPager.java:1128)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.support.v4.view.ViewPager.populate(ViewPager.java:975)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1505)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.view.View.measure(View.java:15575)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:617)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:399)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.view.View.measure(View.java:15575)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5107)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.view.View.measure(View.java:15575)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5107)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1396)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.widget.LinearLayout.measureVertical(LinearLayout.java:681)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.view.View.measure(View.java:15575)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5107)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)n02-07 16:26:30.621: E/AndroidRuntime(19951): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2423)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.view.View.measure(View.java:15575)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2033)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1251)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1427)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1144)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4730)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.view.Choreographer.doCallbacks(Choreographer.java:555)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.view.Choreographer.doFrame(Choreographer.java:525)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.os.Handler.handleCallback(Handler.java:615)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.os.Handler.dispatchMessage(Handler.java:92)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.os.Looper.loop(Looper.java:137)n02-07 16:26:30.621: E/AndroidRuntime(19951): at android.app.ActivityThread.main(ActivityThread.java:4947)n02-07 16:26:30.621: E/AndroidRuntime(19951): at java.lang.reflect.Method.invokeNative(Native Method)n02-07 16:26:30.621: E/AndroidRuntime(19951): at java.lang.reflect.Method.invoke(Method.java:511)n02-07 16:26:30.621: E/AndroidRuntime(19951): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)n02-07 16:26:30.621: E/AndroidRuntime(19951): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)n02-07 16:26:30.621: E/AndroidRuntime(19951): at dalvik.system.NativeStart.main(Native Method)
Android开发Fragment和Activity以及Fragment和Fragment之间的的通信(在碎片活动之间实现点击跳转)
最近重新梳理了一遍碎片Fragment的基础知识,这篇文章就总结一下碎片的相关知识点。 首先定义两个Fragment类。一个是OneFragment.jva,另一个是TwoFragment.java,如下: 在OneFragment里面操作碎片里面的控件使其跳转到指定的Activity,这里主要使用getContext()或者getActivity()方法。 public View...
ViewPager+Fragment,Fragment嵌套Fragment实现页面活动
viewPager + fragment实现基础的页面滑动效果,Fragment+Fragment实现滑动
Fragment中ListView的Item的点击事件(包含Item内部控件的点击事件)
代码记录在博客上,分享给想我一样的菜鸟们,自己忘了的时候也可以拿来看看,免得到处找代码: Fragment中ListView的代码package com.example.administrator.myapplication14.Fragment; import android.content.Intent; import android.os.Bundle; import android.sup
实现Fragment中组件到Activity中的跳转
如果在Fragment包含的tab页中有一个Button按钮,需要点击Button实现跳转到另一个Activity的功能。    Button按钮的监听事件应该写在Fragment里面,而不是它所关联的那个Activity。    代码如下: public class MainFragment extends Fragment{ private Button mbtnMap;
fragment activity与fragment相互传值 fragment与fragment跳转
自己项目中用到fragment搭建框架,从网上找得一个demo,实现activity与fragment相互传值;fragment与fragment跳转。跟大家分享
ViewPager中使用Fragment时的点击事件问题
我在ViewPager中使用了Fragment,ViewPager有很多页,而且每个Fragment都一样,所以都是用一个Fragment实例化出来的,Fragment继承ListFramgnet,我在Fragment中为listView注册了contextMenu,这样ListView就有了长按事件,问题就在于:每次长按事件都会触发三次,我想是因为ViewPager会保持三个页面,每个页面触发一次的原因,但是要怎么解决这个问题,不让它触发三次??求大神讲解,先感谢大神!!!
动态添加的Fragment中TextView添加点击事件出错
怎么给动态添加的Fragment中的TextView添加点击事件
使用Intent跳转活动
Intent大致可以分为两种:显示Intent和隐式Intent 1. 显示Intent button.setOnclickListener(new View.OnClickListener(){ @Override public void onClick(View v) { Intent intent = new Intent(FirstActivity.this, SecondActi...
Android之活动和跳转
一、活动(Activity)1、定义:1)四大组件之一2)是app的界面3)所有控件必须在一个Activity中或者在Activity内的Fargment中2、创建活动(该部分内容来自转载)1)自定义一个Java类并继承于Activity或者AppCompatActivity(Android studio)中;2)每一个Activity默认继承于AppCompatActivity中;3)不能直接使...
Fragment的跳转问题
Fragment和Activity的跳转问题
fragment事物跳转
import android.graphics.Color; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; impor
fragment中40多个textview 点击事件添加。
如题。一开始我在xml里添加了onclick,并设置可点击  是fragmeng! 但是运行报错。 12-15 01:28:01.380: E/AndroidRuntime(1489): FATAL EXCEPTION: main 12-15 01:28:01.380: E/AndroidRuntime(1489): java.lang.IllegalStateException: Could
微信公众号跳转第三方活动
第一步:填写服务器配置登录微信公众平台官网后,在公众平台官网的开发-基本设置页面,勾选协议成为开发者,点击“修改配置”按钮,填写服务器地址(URL)、Token和EncodingAESKey,其中URL是开发者用来接收微信消息和事件的接口URL。Token可由开发者可以任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性)。EncodingAESKey由开发...
fragment的跳转及传值
看实例:activity A 下面有两个fragment a 和fragment b,通过GroupButton来切换,从fragment b又跳入了fragment c,并且从fragment c 中得到数据,再从c跳转并传递数据到b。 需要注意的问题有以下几点: 1,在b中跳入c时,是要引用activity中的fragmentManager,还是直接通过getActivity()来获得一个
Fragment跳转的生命周期
首先,我们要明白,Fragment要跳转,肯定是有多个Fragment,也要明白它是依赖于Activity的存在而存在的,当然,还要明白它的生命周期:onAttach->onCreate->onCreateView->onActivityCreated->onStart->onResume->onPause->onStop->onDestroyView->onDestroy->onDeath 那
跳转碎片(Fragment)
当我们想Activity跳转Fragment的时候会发现跳不成功 需要先跳到他依托的Activity上边才可以进一步跳转到Fragment里边 所以向下看 这是详情页的xiangqingActivity代码(切记传值) jiarugouwuche.setOnClickListener(new View.OnClickListener() { @Override public ...
Fragment跳转无效
出错代码 Intent intent = new Intent(mActivity, MainActivity.class); intent.putExtra(Constants.MAIN_TYPE, RechargeFragment.class.getSi
底部导航栏点击跳转fragment
网上找了很多底部导航栏fragment切换,感觉各种方法都试了,下面是我自己整理的,希望能帮到大家。 (1)点击图片变色的xml文件写好。图片自己处理好。一个为例,其三个同理。 <selector xmlns:android="http://schemas.android.com/apk/res/android"> (2)layout布局文件的引用。
Fragment中点击事件的问题-不定时更新
Android中Fragment点击事件的添加
怎样给Fragment中的按钮添加点击事件?
我按照activity中的添加没有响应,怎么回事?
Fragment之间传值与跳转
一:自定义一个接口第一个id是你要跳转到那个Fragment的索引,比如说一共有三个Fragment你要跳到第二个Fragment   id就=1  索引从0开始。第二个参数是你要传入的数据   或者是对象  集合  都可以我一共有三个Fragmentprivate BlankFragment blankFragment; private BlankFragment2 blankFragment2...
简单的fragment之间跳转
记录下来以后备用 fragment A 需要跳转的fragment B 所依附的父activity
Fragment的跳转小结
Fragment的跳转小结 近来在学习过程中遇到关于fragment的跳转问题,特在此作小结 1.Activity启动Fragment并传递参数 就像Intent传值,我们依然将数据存放在Bundle中,然后利用Fragment.setArguments()将值传过去。例如: DemoFragment demoFragment = new DemoFragment(); Bun
点击通知栏 跳转 Fragment
什么牛都不吹,直接上需求聊天的通知栏提醒, 点击跳转 聊天 的 Fragment。 public static void simpleTXTNotify(String title, String content, int type, String huanxin_id) { //为了版本兼容 选择V7包下的NotificationCompat进行构造 Notific
Fragment之间跳转实现
博客导航 一、Fragment跳转基础 Fragment依附于它的activity,fragment之间的跳转也依赖于activity。在跳转时候主要的思路是:A_fragment发送信号--&gt;信号传送到activity--&gt;activity实现fragment切换--&gt;切换到B_fragment。在这里你可能想到两种方式实现,一个是用发送intent广播,activity接...
fragment之间的跳转
在网上找了好久,都没找到,最后忽然想到可以用回调的方法来实现,竟然真的可以,万能的回调。 1.在fragment中定义回调函数,当button按下调用回调 2.在此fragment对应的activity中设置回调。 例如:1. class MyFragment extends Fragment{     private Button btn;     private
Fragment之间的跳转
android中在fragment A里面点击button跳转到fragment B怎么实现?   方法一:直接getActivity,使用activity的fragmenttransation的replace方法替换 假设   class OneFragment extends Fragment{ private Button btn; @Override ...
fragment的跳转问题???
问题:A fragment跳转到B fragment,B在跳转到C fragment,当从C返回到B再返回到A,怎么实现??rn 还有,fragment在栈中怎么存储的?和activity的进栈、出栈一样吗?结构是什么样子的?谢谢!
fragment间的跳转例子
fragment间的跳转例子,博文地址:http://blog.csdn.net/wei18359100306/article/details/41174155
在Fragment中添加Popwindow菜单点击事件
效果如下: Fragment: package com.wace.pflove.bottomtab; import android.content.Intent; import android.graphics.drawable.ColorDrawable; import android.os.Build; import android.os.Bundle; import android.sup...
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件