1

オブジェクトを作成して、あるクラスに存在する関数を別のクラスから呼び出そうとしています。どういうわけかそれは機能していません。新しいアクティビティは読み込まれません。

私の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());
    }
}
 }
4

2 に答える 2

1

最初に workEntryObject を作成する必要があります (C++ ではありません)。このような

public WorkEntryScreenActivity workEntryObject=new WorkEntryScreenActivity();

また、Android Basics http://developer.android.com/guide/index.htmlを読むことを強くお勧めします。

于 2012-06-13T19:07:15.537 に答える
0

@バイオバンプは正しいです。メソッドを呼び出そうとしている null 参照があるようです。非静的メソッドを呼び出すには、そのオブジェクトのインスタンスが必要です。

メソッドの命名から、UI の一部をアプリケーションの別の部分で再利用しようとしているように見えます。Android では、インテントアクティビティを使用してこれを実現します。それらや使用方法に慣れていない場合は、それらを調査することを強くお勧めします。

于 2012-06-13T19:12:04.550 に答える