0

「EventFragment」という listFragment クラスを作成しました。クリック イベントでデータ オブジェクトを渡して drawerActivity クラス (フラグメント クラス) を渡し、そのオブジェクトを EventDisplayActivity クラスという別のアクティビティに渡す必要があります。drawerActivity クラスへのデータ オブジェクトの取得は管理できましたが、それを EventDisplayActivity クラスに送信することはできません。

//DrawerActivity code
@Override
public void OnEventItemClick(ZEvent zEventObject) {

    Log.i("URI uri", ""+zEventObject.getEventName());

    zEventItem = (ZEvent)zEventObject;
    Bundle b = new Bundle();
    b.putParcelable("EVENT_ITEM", zEventItem);

    Intent i = new Intent(DrawerActivity.this, EventDisplayActivity.class);
    i.putExtra("DUMMY","dummytext");
    i.putExtras(b);
    startActivity(i);   

}

// EventDisplayActivity

@Override
protected void onInit(ModelBase... data) {

    System.out.println("onInit() Called in Event Display Activity");

    SharedPreferences sessionkey = getApplicationContext().getSharedPreferences("session_detail", Context.MODE_PRIVATE);        
    session_token = sessionkey.getString("session", "");
    logged_user_type = sessionkey.getString("user_type", ""); 
    logged_user_id = sessionkey.getString("user_id", "");

    Intent i = getIntent();
    Bundle extras = i.getExtras();
    ZEvent zEventbundle = extras.getParcelable("EVENT_ITEM"); 


    mProposalId = zEventbundle.getProposalID();
    String mDummy = getIntent().getStringExtra("DUMMY");      

    Log.i("id>>>",""+mProposalId +"Dummy"+mDummy);

    params = new RequestParams();
    params.put("token", session_token);
    params.put("proposal_id", mProposalId);

mApiClient.getView(eventViewURL, params, eventResponse);

}    

//LOgCat

java.lang.RuntimeException: Unable to start activity 
ComponentInfo{gg.zing/gg.zin.zing.events.activities.EventDisplayActivity}: java.lang.NullPointerException

Caused by: java.lang.NullPointerException
at gg.zin.zing.events.activities.EventDisplayActivity.onInit(EventDisplayActivity.java:431)
4

2 に答える 2

0

ZEvent が Parcelable を実装していると仮定します...実装している場合は、(新しい Bundle を作成して putExtras を使用する代わりに) putExtra を使用してインテントを挿入し、getParcelableExtra を使用して同じ方法で抽出します。

// Put     
final Intent intent = new Intent(context, <class>);
intent.putExtra("MY_EVENT", obj); // <-- Should be parcelable
// Get.
ZEvent obj = intent.getParcelableExtra("MY_EVENT");
于 2013-08-28T06:26:28.473 に答える
-1

静的フィールドにデータを保持するために使用されるクラスで静的属性を定義することもできます。

public class AppData{
    public static String user = "Ben";
}

次のように使用できます。

public void setUser(String user){
    AppData.user = user;
}
于 2013-08-28T10:51:26.613 に答える