我试图通过创建其对象来调用另一个类中的一个类中存在的函数。不知怎的,它不起作用。新活动无法加载。
我的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());
}
}
}
答案 0 :(得分:1)
您必须首先创建workEntryObject(它不是C ++)。喜欢这个
public WorkEntryScreenActivity workEntryObject=new WorkEntryScreenActivity();
另外,我强烈建议您阅读Android Basics http://developer.android.com/guide/index.html
答案 1 :(得分:0)
@biovamp是正确的。看起来你有一个空引用,你试图调用一个方法。为了调用非静态方法,您需要该对象的实例。
从您的方法命名,您可能会尝试在应用程序的另一部分重用某些UI。在Android中,实现这一目标的方法是Intents和Activities。如果你不熟悉那些或如何使用它们,我强烈建议你研究它们。