1

Android カレンダーに新しいイベントを追加しようとしています。これが私が使用しているコードです

Intent intent = new Intent(Intent.ACTION_EDIT);
                    intent.setType("vnd.android.cursor.item/event");
                    intent.putExtra("title", event.getSummary());
                    intent.putExtra("description", event.getDescription());
                    intent.putExtra("eventLocation", event.getLocation());
                    intent.putExtra("dtstart", event.getStartDate());
                    if(event.getEndDate() == null)
                    {
                        intent.putExtra("allDay", true);
                    }
                    else
                    {
                        intent.putExtra("dtend", event.getEndDate());
                    }

                    startActivity(intent);

このメソッドをアクティビティ クラスではない別のクラスに実装しています。そこで、ここでアクティビティ クラスを拡張します。

最後の行を実行すると startActivity(intent); Java nullpointer 例外が発生しています。

進め方がわからない。

Androidカレンダーにエントリを追加するにはどうすればよいですか? ありがとう

4

1 に答える 1

1

でアクティビティ クラスをインスタンス化していますnewか? それをしてはいけない。アクティビティ クラスは、機能するために OS によってインスタンス化される必要があります。

解決:

Contextを呼び出すには、への参照が必要context.startActivity(..)です。コンストラクターでコンテキストのインスタンスをクラスに渡します。ヒント: すべてのアクティビティはコンテキストなのでnew MyClass(this)、アクティビティ内から実行してください。

また、クラスで Activity を拡張する必要はありません。

于 2011-09-28T14:49:43.483 に答える