如何从另一个类调用一个类中的函数?

时间:2012-06-13 19:04:58

标签: android android-intent

我试图通过创建其对象来调用另一个类中的一个类中存在的函数。不知怎的,它不起作用。新活动无法加载。

我的java代码:

public class MessagesActivity extends TabActivity {

    public WorkEntryScreenActivity workEntryObject = new WorkEntryScreenActivity() ;

    public void AddWorkEntryClick(View v) {
        workEntryObject.newWorkEntry();
    }
}

另一堂课:

public class WorkEntryScreenActivity extends Activity {

public void newWorkEntry() {
    try {
        Intent i = new Intent(this, WorkEntryActivity.class);
        i.putExtra("CurDate", mDateDisplay.getText());
        i.putExtra("DD", String.valueOf(mDay));
        i.putExtra("MM", String.valueOf(mMonth));
        i.putExtra("YYYY", String.valueOf(mYear));
        startActivity(i);
        finish();
    } catch (Exception e) {
        System.out.println("Exception" + e.getStackTrace());
        Log.d(TAG, "Exception" + e.getStackTrace());
    }
}
 }

2 个答案:

答案 0 :(得分:1)

您必须首先创建workEntryObject(它不是C ++)。喜欢这个

public WorkEntryScreenActivity workEntryObject=new WorkEntryScreenActivity();

另外,我强烈建议您阅读Android Basics http://developer.android.com/guide/index.html

答案 1 :(得分:0)

@biovamp是正确的。看起来你有一个空引用,你试图调用一个方法。为了调用非静态方法,您需要该对象的实例。

从您的方法命名,您可能会尝试在应用程序的另一部分重用某些UI。在Android中,实现这一目标的方法是IntentsActivities。如果你不熟悉那些或如何使用它们,我强烈建议你研究它们。