9
   The code Written below works for me

                Intent intent = new Intent(Intent.ACTION_EDIT);
                intent.setType("vnd.android.cursor.item/event");
                intent.putExtra("title", "Hi this me");
                intent.putExtra("description", "Some description");
                intent.putExtra("beginTime", eventStartInMillis);
                intent.putExtra("endTime", eventEndInMillis);
                startActivityForResult(intent, 1);

私の質問は、OnActivityResult の Android カレンダー データを元に戻すことができないということです。なぜこの問題について私を助けてくれるのかわかりません。

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

if (requestCode == 1) {

     if(resultCode == RESULT_OK){

      String result=data.getStringExtra("title");

}


And i am getting data.getExtras() is null !!!!!
4

5 に答える 5

1

それは Result コードが常に 0 を返すため android カレンダーでは Calendar 暗黙のインテントのアクティビティ結果 onActivity の結果で RESULT_CANCEL を使用してみてください

public void onActivityResult(int reqCode, int resultCode, Intent data) {

super.onActivityResult(reqCode, resultCode, data);

スイッチ (reqCode) {

if (resultCode == Activity.RESULT_CANCEL)

そして、次のイベントIDを確認するだけで機能します..

ゴビンド

于 2013-05-09T07:27:42.250 に答える
-1

これは、アクティビティAからstartActivityForResultによって開始したアクティビティ(アクティビティB)にデータを渡しているためです。onActivityResult()は、アクティビティAではなくアクティビティBによって渡されたデータのみを取得します。

これは、Androidのインテントに関する優れたチュートリアルです。

http://www.vogella.com/articles/AndroidIntent/article.html

そしてこのサイトも

http://saigeethamn.blogspot.jp/2009/08/android-developer-tutorial-for_31.html

于 2012-12-06T08:53:58.713 に答える
-1

次のコードを使用できます。

public void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);
switch (reqCode) {
 if (resultCode == Activity.RESULT_OK) {
        Bundle extras = data.getExtras();
        String title=extras.getString("title");
        String description=extras.getString("description");
        String beginTime=extras.getString("beginTime");
        String endTime=extras.getString("endTime");
于 2012-12-06T06:59:21.370 に答える
-1

問題は、データを意図的に直接配置し、Bundle を介して取得していることです。

これを試して:

次のようにバンドル オブジェクトを作成します。

Intent i = new Intent("yourFullyQualifiedClassName");

 Bundle extras = new Bundle();
 extras.putString("title", "Hi this me");
 extras.putString("description", "Some description");
 i.putExtras(extras);

次に、次のようにバンドルからデータを取得します。

Bundle bundle = data.getExtras();

bundle.getString("title");

これで問題が解決することを願っています。

于 2012-12-06T07:08:55.003 に答える