【发布时间】:2014-09-29 05:49:38
【问题描述】:
我有一个名为 car 的类,它在 GoodActivity Class 中实现了 LocationListerner class(default class)。所以Car class 有一个名为onLocationChanged() 的函数。在onLocationChanged() 函数中,我调用了名为fun() 的函数,它是另一个名为Contact3 的类的静态函数。当调用函数fun() 时,我得到一个空指针异常错误。
fun() 函数调用了另一个名为 SongsActivity 的类中的 posts() 方法。
GoodActivity 类
public class GoodActivity extends Activity {
Button button2;
good s;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_good);
}
public class car implements LocationListener{
public void onLocationChanged(Location location) {
try{
String name="vijay";
Contact3.fun(GoodActivity.this,name);
}catch(Exception e){
Toast.makeText(GoodActivity.this, e.toString()+"good", Toast.LENGTH_LONG).show();
}}}}
Contact3 类
public class Contact3 {
public static void fun(Context context,String name) {
SongsActivity s=new SongsActivity();
s.posts(name);
}
}
SongsActivity 类
public class SongsActivity extends Activity {
public void posts(String name){
try {
Log.d("Tests", s);`
} catch (Exception e) {
Toast.makeText(SongsActivity.this, e.toString(), Toast.LENGTH_SHORT).show();
}}}
当调用函数fun() 时,我得到一个空指针异常错误。
请帮忙。
【问题讨论】:
-
你能发布你的日志猫吗
-
你不能用不可见的活动制作
Toast。SongsActivity不可见,但您尝试使用SongsActivity.this显示Toast -
你不能创建 Activity 类的实例,你会得到 NPE,因为 Activity 的上下文为空,如果你想从其他类发送消息,你必须将
Context传递给该类
标签: android performance android-intent android-activity nullpointerexception