【发布时间】:2013-11-20 07:08:10
【问题描述】:
我尝试从静态方法调用非静态方法但没有任何结果,我的应用程序运行崩溃 我的代码:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setAuth();
///
///
}
public static void setAuth() {
new MainActivity().d();
}
public void d()
{
Toast.makeText(getApplicationContext(), "fff",Toast.LENGTH_SHORT).show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
android中的静态方法可以调用非静态方法吗? 以及如何???
【问题讨论】:
-
发布我们的崩溃错误日志!
-
首先你不能为一个活动做
new MainActivity()。我认为你的主要任务是展示 Toast。因此,将 Context 对象作为参数传递给 setAuth() 并使用该上下文对象显示您的 toast。 -
在尝试制作 Android 应用程序之前,您应该考虑花更多时间在简单的 Java 编程上。
-
代码不是来自我的应用程序,我尝试了简单的代码,如果代码有效,则更改我的应用程序