从其他类Android Java调用静态方法
如何从从其他类Android Java调用静态方法,java,android,methods,static,Java,Android,Methods,Static,如何从MainActivity调用方法?被调用的方法在另一个类中是静态的。这段代码在PC上运行良好,但在Android上失败 以下是主要活动代码: public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
MainActivity
调用方法?被调用的方法在另一个类中是静态的。这段代码在PC上运行良好,但在Android上失败
以下是主要活动代码:
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
Metode.getDatum();
}
另一个公共类Metode
,有一个静态方法getDatum()
我在这个令牌错误后得到“预期标识符”
此应用程序只有一个活动,Metode
类为
public class Metode
这个代码不应该工作。您必须调用
Metode.getDatum()代码>来自其他方法。
此外,此方法返回一个被完全忽略的字符串。可能您想在哪里使用这个somwhere?嗯,看起来包声明中出现了问题
****package com.example.sluzba;****
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Scanner;
public class Metode {
public static String getDatum() {
Calendar koledar = Calendar.getInstance();
int[] datum = new int[3];
datum[0] = koledar.get(Calendar.DAY_OF_MONTH);
datum[1] = koledar.get(Calendar.MONTH);
datum[2] = koledar.get(Calendar.YEAR);
String datumString = Arrays.toString(datum);
return datumString;
}
现在它运行了,如果我从其他方法调用它
所以我想,包声明(如果命名不正确,请纠正我)很重要。只是说,如果像我这样的n00b陷入同样的困境。
谢谢大家!!!高和其他人。干杯 嗯,好的。我会在脑海中重复几次,创建一个方法,如果可行的话再回来。现在谢谢你。我有种感觉,你不太明白你在做什么。我说的对吗?这个返回的字符串稍后用于将获取的日期写入.txt文件。代码在Android环境之外工作。我将调用放在一个void方法中,现在再次出现“Metode无法解析”和“Identifier expected after..”错误。我想我知道我想调用另一个类中声明的静态方法。不,在这样的地方调用该方法是不正确的语法,这与Android无关。这在普通Java中也是错误的。哦,在Java中,它是从主方法调用的。谢谢,伙计们。但是,还是。有什么建议吗?我的工作是围绕书本展开的,但与此同时,我喜欢编写一些代码。我不理解您的问题,您在哪里尝试调用getDatum()方法?你能提供一些代码吗?@Stanislav他一直在主活动的底部调用该方法,在任何方法之外(当然是iinvalid语法)。@Override public boolean onCreateOptions菜单(菜单菜单菜单){//膨胀菜单;如果存在,这会将项目添加到操作栏中。getMenuInflater().Inflate(R.menu.main,menu);返回true;Metode.getDatum();}这也不起作用。(从其他方法调用)。无法解决。不要恨我,我做了一个好馅饼。
****package com.example.sluzba;****
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Scanner;
public class Metode {
public static String getDatum() {
Calendar koledar = Calendar.getInstance();
int[] datum = new int[3];
datum[0] = koledar.get(Calendar.DAY_OF_MONTH);
datum[1] = koledar.get(Calendar.MONTH);
datum[2] = koledar.get(Calendar.YEAR);
String datumString = Arrays.toString(datum);
return datumString;