2016-05-25 3 views
0

ListViewで1つのFragment(ListA)を作成しました。 ListViewの1つの項目をクリックすると、MainActivityを開始します。getStringExtraはnull SINGLE_TOPフラグを返します

public class ListA extends Fragment { 

    private WearableListView ListV; 

    ... 

    private WearableListView.ClickListener mClickListener = new WearableListView.ClickListener() { 

    @Override 
    public void onClick(WearableListView.ViewHolder viewHolder) { 
     Intent intent= new Intent(getActivity().getApplicationContext(), MainActivity.class); 
     intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); 
     intent.putExtra("timestamp", "AAA"); 
     startActivity(intent); 
    } 

これはMainActivityある:。

public class MainActivity extends Activity { 

@Override 
public void onResume() { 
    super.onResume(); 
    if(getIntent().getStringExtra("timestamp")!=null){ 
     Toast.makeText(getApplicationContext(),"Has Timestamp",Toast.LENGTH_SHORT).show(); 
    } 
} 

IフラグIntent.FLAG_ACTIVITY_SINGLE_TOP、getIntentを(追加すると)getStringExtra( "タイムスタンプ")nullを返します。フラグIntent.FLAG_ACTIVITY_NEW_TASKを追加すると、nullではありません。 私はフラグIntent.FLAG_ACTIVITY_SINGLE_TOPを持っていますが、それはnullを返します、なぜ私は分かりません。

答えて

0

私は、MainActivityが既に開始されていたので、新しいインテントが渡されていないと思います。

リストのアクティビティを表示する前に、メインアクティビティを破棄してみてください。これが動作するかどうかを確認する

関連する問題