从另一个类Android Java调用静态方法

时间:2014-08-17 13:44:19

标签: java android methods static

如何从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;
}

我得到了#34;预期的标识符"在此令牌错误之后。

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

public class Metode 

2 个答案:

答案 0 :(得分:1)

好吧,看起来包裹声明存在问题。

****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进入同一个lamery。  谢谢大家!!!高和其他人。干杯!

答案 1 :(得分:0)

这段代码不适用。您必须从其他方法拨打Metode.getDatum();

此外,此方法返回一个完全被忽略的String。可能你想用这个somwhere吗?