Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从其他类Android Java调用静态方法_Java_Android_Methods_Static - Fatal编程技术网

从其他类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;