自定义的view如何跳转activity

齐的隆冬强 2014-12-09 02:29:33
如题。。。。
Intent intent = new Intent();
intent.setClass(this,MainNavActivity.class);
intent.putExtra("vKey", vKey);
intent.putExtra("UserID", UserID);
intent.putExtra("UserName", UserName);
intent.putExtra("loginname", loginname);
startActivity(intent);

activity之间可以这么写
但是在自定义的view里面 setClass 和startActivity都不能用
新手 求助啊
...全文
489 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
shimin1111 2015-03-16
  • 打赏
  • 举报
回复
怎么解决的啊,楼主,希望给出方案啊。
节操在此 2014-12-09
  • 打赏
  • 举报
回复
引用 9 楼 zh1223ch 的回复:
问题解决了 谢谢各位~~
我想知道为什么是空的,你做了什么
齐的隆冬强 2014-12-09
  • 打赏
  • 举报
回复
问题解决了 谢谢各位~~
齐的隆冬强 2014-12-09
  • 打赏
  • 举报
回复
引用 7 楼 u014027694 的回复:
[quote=引用 6 楼 robake 的回复:] 看了楼上几位的解答,我觉得楼主的问题应该是context对象是空值造成的。。。 我的解决办法是: 1、创建一个静态类,声明一个context对象,在程序加载的时候将对象存到这里 2、在自定义的类里去调用那个对象。
空值是怎么来的,他自定义的View不都需要一个父容器么,比如Activity、fragment;[/quote] 是带父容器的,是个Activity,不过为啥还是空~~ public NinePointView(Context context) { super(context); mintent = new Intent(); mContext = context; 这个我也加上了啊
节操在此 2014-12-09
  • 打赏
  • 举报
回复
引用 6 楼 robake 的回复:
看了楼上几位的解答,我觉得楼主的问题应该是context对象是空值造成的。。。 我的解决办法是: 1、创建一个静态类,声明一个context对象,在程序加载的时候将对象存到这里 2、在自定义的类里去调用那个对象。
空值是怎么来的,他自定义的View不都需要一个父容器么,比如Activity、fragment;
robake 2014-12-09
  • 打赏
  • 举报
回复
看了楼上几位的解答,我觉得楼主的问题应该是context对象是空值造成的。。。 我的解决办法是: 1、创建一个静态类,声明一个context对象,在程序加载的时候将对象存到这里 2、在自定义的类里去调用那个对象。
节操在此 2014-12-09
  • 打赏
  • 举报
回复
引用 3 楼 zh1223ch 的回复:
[quote=引用 1 楼 u014027694 的回复:] 你自定义的View的构造里不是有Context么,用它去startActivity
public NinePointView(Context context) { super(context); Intent intent = new Intent(); this.setBackgroundColor(Color.WHITE); initPaint(); } 该怎么写啊~~ 新手求教啊[/quote]
private Context mContext;
private Intent mintent;
public NinePointView(Context context) {
		super(context);
		mintent = new Intent();
                mContext = context;
		this.setBackgroundColor(Color.WHITE);
		initPaint();
}
在你要处理的事件里
mintent.setClass(mContext,"***");
mContext.startActivity(mIntent);
比如点击事件,那就先让你的自定义View实现View.OnClickListener,然后重写onclick(),在onclick()里写处理
「已注销」 2014-12-09
  • 打赏
  • 举报
回复
context.StartActivity(context, x.class);
齐的隆冬强 2014-12-09
  • 打赏
  • 举报
回复
引用 1 楼 u014027694 的回复:
你自定义的View的构造里不是有Context么,用它去startActivity
public NinePointView(Context context) { super(context); Intent intent = new Intent(); this.setBackgroundColor(Color.WHITE); initPaint(); } 该怎么写啊~~ 新手求教啊
MrReid 2014-12-09
  • 打赏
  • 举报
回复
楼上正解- -
节操在此 2014-12-09
  • 打赏
  • 举报
回复
你自定义的View的构造里不是有Context么,用它去startActivity

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧