繁体   English   中英

从其他类Android Java调用静态方法

[英]Calling a static method from other class Android Java

如何从MainActivity调用方法? 在另一个类中,被调用的方法是静态的。 此代码在PC上可以正常运行,但在Android上无法运行。

这是MainActivity代码:

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()

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;
}

出现此令牌错误后,我得到“期望的标识符”。

这个应用程式只有一个活动, Metode类别是

public class Metode 

好吧,看来软件包声明存在问题。

****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陷入同样的​​困境。 谢谢大家!!! 花王和其他人。 干杯!

该代码不起作用。 您必须调用Metode.getDatum(); 从其他方法。

而且,此方法返回一个完全被忽略的String 可能您想在其他地方使用此功能?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM