用户名*
邮箱*
密码*
确认密码*
验证码* 点击图片更换验证码
找回密码
忘记密码了?输入你的注册邮箱,并点击重置,稍后,你将会收到一封密码重置邮件。
java的对象是需要new的,而c和cpp就可以不用new…
1,你的main activity对象没有初始化。
2,可以通过对象赋值的方法将其初始化为某个activity实例,但是因为这个activity在其他界面被引用了,如果管理不好,所以很容易造成内存泄漏,gc机制无法回收。
3,跨activity交互的方法非常多,但是这个是最蠢的一种,为什么要这么做呢?或者说你需要做这个的目的是什么?
第一次看到这种写法的,,不知道在anotherActivity中的mainactivity你是怎么设置值的,直接new的activity之后是否调用了oncreat方法?否则在run0中没有setcontentview的情况下findtext0会返回null啊,这样写耦合太高了,而且activity就不应该你手动去new,发个广播都比这好理解,还是把逻辑和activity分离吧。。
先去好好学学java基础,跟android关系不大
首先,暂时不考虑activity的问题,一个对象要初始化了才能调用它的方法啊!没初始化肯定要空指针异常啊!
再说这activity的事,看代码真不知道你想干嘛。我是真的看不懂啊!
看样子是想在AnotherActivity中改变MainActivity中的显示……
且不说你AnotherActivity中那个MainActivity有没有new过,就算new过,它跟你要显示数据的MainActivity也不是同一个对象;Activity是系统实例化的,你自己new它没用;还是听Coder Robin大神的建议,先把Java搞搞清楚吧。
其次如果想实现这样的功能,看看Handler/Message的相关知识吧
错误不在于activity的限制什么鬼的,你试试把 run方法里面的执行换成hello world,还有,你要确定你的activity不为null
题主根本连Java的基本语法都不懂,不是Android的问题,而是Java对象实例没有创建的问题,回去先把Java最最基础的过一遍再写Android吧
android做这种东西的目的就是解耦
在不同activity之间调用方法需要中间件
可以使用系统提供的广播 或者EventBus 或者做一个中间类放在appliction里(不推荐)
昵称*
E-Mail*
回复内容*
回复 ( 9 )
java的对象是需要new的,而c和cpp就可以不用new…
1,你的main activity对象没有初始化。
2,可以通过对象赋值的方法将其初始化为某个activity实例,但是因为这个activity在其他界面被引用了,如果管理不好,所以很容易造成内存泄漏,gc机制无法回收。
3,跨activity交互的方法非常多,但是这个是最蠢的一种,为什么要这么做呢?或者说你需要做这个的目的是什么?
第一次看到这种写法的,,不知道在anotherActivity中的mainactivity你是怎么设置值的,直接new的activity之后是否调用了oncreat方法?否则在run0中没有setcontentview的情况下findtext0会返回null啊,这样写耦合太高了,而且activity就不应该你手动去new,发个广播都比这好理解,还是把逻辑和activity分离吧。。
先去好好学学java基础,跟android关系不大
首先,暂时不考虑activity的问题,一个对象要初始化了才能调用它的方法啊!没初始化肯定要空指针异常啊!
再说这activity的事,看代码真不知道你想干嘛。我是真的看不懂啊!
看样子是想在AnotherActivity中改变MainActivity中的显示……
且不说你AnotherActivity中那个MainActivity有没有new过,就算new过,它跟你要显示数据的MainActivity也不是同一个对象;Activity是系统实例化的,你自己new它没用;还是听Coder Robin大神的建议,先把Java搞搞清楚吧。
其次如果想实现这样的功能,看看Handler/Message的相关知识吧
错误不在于activity的限制什么鬼的,你试试把 run方法里面的执行换成hello world,还有,你要确定你的activity不为null
题主根本连Java的基本语法都不懂,不是Android的问题,而是Java对象实例没有创建的问题,回去先把Java最最基础的过一遍再写Android吧
android做这种东西的目的就是解耦
在不同activity之间调用方法需要中间件
可以使用系统提供的广播 或者EventBus 或者做一个中间类放在appliction里(不推荐)