【Android】Intentページジャンプ問題やジャンプ更新など様々な問題のまとめ
2575 ワード
一、概要:Activityは共通クラスとしてContextThemeWrapperから継承する.
Activityはユーザーがすべきことに集中しています.ほとんどのActivityはユーザーと対話しています.したがって、ActivityはsetContentView(view)を使用してインタフェース要素を表示します.Activitiesは通常、ウィンドウをフルスクリーンで表示しますが、次の2つの方法のいずれかを指定して表示できます.
フローティングフォーム:android:theme=「?android:attr/windowIsFloating」が他のActivityに埋め込まれています.
二、startActivity(Intent)とstartActivity ForResult(Intent,int)の違い使用:
startActivity(Intent)は、activityスタックのスタックの上部に配置される新しいactivityを起動するために使用されます.この方法には1つのパラメータIntentしかありません.このパラメータは実行されるactivityを記述しています.
activityが終了したときに返される結果を望んでいる場合があります.例えば、activityを起動して、ユーザーがアドレス帳から人を選択できるようにすることができます.それが終わると、この選択した人に戻ります.この返される情報を得るために、startSubActivity(Intent,int)という方法を使用して新しいactivityを起動することができます.2番目の整形パラメータは、今回呼び出された識別マークとして使用されます.このactivityが返す結果は、onActivity Result(int,int,String,Bundle)メソッドで得ることができます.このメソッドの最初のパラメータは、以前に呼び出された識別タグです.activityが終了すると、setResult(int)を呼び出して親プロセスにデータを返すことができます.この方法は、標準結果RESULT_を使用できる結果コードを提供する必要があります.CANCELED, RESULT_OK、他の任意のRESULTからでもいいです.FIRST_USERからのカスタム値.また、すべての希望値を含むBundleを返す文字列(常にデータのURLアドレス)も返します.親activityのコールバック関数Activity.onActivity Result()に表示され、最初に提供された識別タグとともに(ここでは、サブactivityが返す内容、戻りコード、識別タグがパラメータとして使用され、親activityのActivity.onActivity Result()メソッドが異なる戻り状況に応じて呼び出され、様々な戻り時に親activityが応答する処理が実現されることを意味する.)
三、実例
MainActivity:
この方法は可能ですが、Bookmarkがtabactivityのタブにすぎない場合、MainActivityはタブにジャンプし、タブのいずれかのオプションで終了します.どうすればいいですか?
考えているうちに...
Activityはユーザーがすべきことに集中しています.ほとんどのActivityはユーザーと対話しています.したがって、ActivityはsetContentView(view)を使用してインタフェース要素を表示します.Activitiesは通常、ウィンドウをフルスクリーンで表示しますが、次の2つの方法のいずれかを指定して表示できます.
フローティングフォーム:android:theme=「?android:attr/windowIsFloating」が他のActivityに埋め込まれています.
二、startActivity(Intent)とstartActivity ForResult(Intent,int)の違い使用:
startActivity(Intent)は、activityスタックのスタックの上部に配置される新しいactivityを起動するために使用されます.この方法には1つのパラメータIntentしかありません.このパラメータは実行されるactivityを記述しています.
activityが終了したときに返される結果を望んでいる場合があります.例えば、activityを起動して、ユーザーがアドレス帳から人を選択できるようにすることができます.それが終わると、この選択した人に戻ります.この返される情報を得るために、startSubActivity(Intent,int)という方法を使用して新しいactivityを起動することができます.2番目の整形パラメータは、今回呼び出された識別マークとして使用されます.このactivityが返す結果は、onActivity Result(int,int,String,Bundle)メソッドで得ることができます.このメソッドの最初のパラメータは、以前に呼び出された識別タグです.activityが終了すると、setResult(int)を呼び出して親プロセスにデータを返すことができます.この方法は、標準結果RESULT_を使用できる結果コードを提供する必要があります.CANCELED, RESULT_OK、他の任意のRESULTからでもいいです.FIRST_USERからのカスタム値.また、すべての希望値を含むBundleを返す文字列(常にデータのURLアドレス)も返します.親activityのコールバック関数Activity.onActivity Result()に表示され、最初に提供された識別タグとともに(ここでは、サブactivityが返す内容、戻りコード、識別タグがパラメータとして使用され、親activityのActivity.onActivity Result()メソッドが異なる戻り状況に応じて呼び出され、様々な戻り時に親activityが応答する処理が実現されることを意味する.)
三、実例
MainActivity:
Intent intent = new Intent(MainActivity.this, Bookmarks.class); //
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivityForResult(intent,0);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{ // A
super.onActivityResult(requestCode, resultCode, data);
if(data != null)
{
String str=data.getStringExtra("sec_bookmark_url").toString();
mWebView.loadUrl(str)
}
else
Toast.makeText(MainActivity.this," ********$$$", Toast.LENGTH_SHORT).show();
}
Bookmark.java String aaa=(String) users.get(arg2).get("bookmark_url"); //
Intent intent = new Intent();
// intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//
intent.putExtra("sec_bookmark_url", aaa);//
setResult(RESULT_OK, intent);
Bookmarks.this.finish();
この方法は可能ですが、Bookmarkがtabactivityのタブにすぎない場合、MainActivityはタブにジャンプし、タブのいずれかのオプションで終了します.どうすればいいですか?
考えているうちに...