今日は昨日見た映像は、書いたコードをノックしています
方法バンドルによって送信された各種インターフェースデータで、
onClickの方法で書かれました
テントの意図= 新しいテント(AActivity。これ、BActivity。クラス); バンドルバンドル = 新しいバンドル(); bundle.putString( "名前"、 "YYF" ); bundle.putInt( "年齢"、20 ); intent.putExtras(バンドル)。 startActivity(インテント)。
インターフェースを受信した場合、インタフェースB、Bに渡された値
MTV1 = (のTextView)findViewById(R.id.tv_1)。 バンドルバンドル = getIntent()getExtras()。 文字列名 = bundle.getString( "名前" ); int型の年齢= bundle.getInt( "年齢" ); mtv1.setText(名前 + "" +年齢)。
値BはAに再び拡散されます。
コードBを作成する必要があります
mtv1.setOnClickListener(新しいView.OnClickListener(){ @Override 公共 のボイドのonClick(ビューV){ テントの意図 = 新しいテント(); バンドルbundle1 = 新しいバンドル(); bundle1.putString( "タイトル"、 "哈哈哈哈" ) ; intent.putExtras(bundle1); setResult(Activity.RESULT_OK、意図)、 仕上げ(); } })。
その後、Aは、startActivity(インテント)である。startActivityForResult(0、インテント)を変更します。
その後、機能を追加
保護された ボイド onActivityResult(INT requestCode、INT resultCodeが、インテントデータ){ Toast.makeText(AActivity。この、data.getExtras()のgetString( "タイトル" )、Toast.LENGTH_LONG).SHOW(); }
Bは、タイトルAに転送されます。
また、フラグメントの最初の使用を学びました。
活動のコンテナを作成した後、フラグメント継承する2クラスを作成します。
パッケージcom.example.yangy.myapplication123.fragment。 輸入android.support.v7.app.ActionBarActivity; 輸入android.os.Bundle; 輸入android.view.View; 輸入android.widget.Button; 輸入com.example.yangy.myapplication123.R; パブリック クラス ContainerActivityは拡張ActionBarActivity { プライベートAfragment afrgmentを。 プライベートBfragmentのbfrgment。 プライベートボタンmbutchange。 @Overrideは、 保護された ボイドのonCreate(バンドルsavedInstanceState){ スーパー .onCreate(savedInstanceState)。 setContentView(R.layout.activity_container)。 mbutchange = (ボタン)findViewById(R.id.btn_change)。 mbutchange.setOnClickListener(新しいView.OnClickListener(){ @Override 公共 のボイドのonClick(ビューV){ 場合(bfrgment == nullの) { bfrgment = 新しいBfragment(); } 。。getFragmentManager()のbeginTransaction()を置き換える(R.id .fl_container、bfrgment).commitAllowingStateLoss(); } })。 // 实例化AFragment = afrgment 新しい新しいAfragment(); // アクティビティAFragment場所に追加指定 getFragmentManager()のbeginTransaction()を追加し(R.id.fl_container、afrgment).commitAllowingStateLossを(); ... } }
パッケージcom.example.yangy.myapplication123.fragment。 輸入android.app.Fragment; 輸入android.support.annotation.Nullable; 輸入android.support.v7.app.ActionBarActivity; 輸入android.os.Bundle; 輸入android.view.LayoutInflater; 輸入android.view.View; 輸入android.view.ViewGroup; 輸入android.widget.TextView; 輸入com.example.yangy.myapplication123.R; パブリック クラス Afragmentは、拡張フラグメント{ プライベートのTextViewのmtvtitleを。 @Nullable @Override パブリックビューonCreateView(LayoutInflaterインフレータ、容器のViewGroup、バンドルsavedInstanceState){ ビュービュー = inflater.inflate(R.layout.activity_afragment、容器、偽)。// 给一个布局文件 リターン図です。 } @Override 公共 ボイドonViewCreated(ビュービュー、バンドルsavedInstanceState){ mtvtitle = (のTextView)view.findViewById(R.id.tv_title)。 } }
パッケージcom.example.yangy.myapplication123.fragment。 輸入android.app.Fragment; 輸入android.support.annotation.Nullable; 輸入android.support.v7.app.ActionBarActivity; 輸入android.os.Bundle; 輸入android.view.LayoutInflater; 輸入android.view.View; 輸入android.view.ViewGroup; 輸入android.widget.TextView; 輸入com.example.yangy.myapplication123.R; パブリック クラス Bfragmentは、拡張フラグメント{ プライベートのTextViewのmtvtitleを。 @Nullable @Override 公衆図onCreateView(LayoutInflaterインフレータ、容器のViewGroup、バンドルsavedInstanceState){ ビュービュー = inflater.inflate(R.layout.activity_bfragment、容器、偽)。// 给一个布局文件 リターン図です。 } @Override 公共 ボイドonViewCreated(ビュービュー、バンドルsavedInstanceState){ mtvtitle = (のTextView)view.findViewById(R.id.tv_title)。 } }
他の三つのコースフラグメントを学び続けるために明日、インターフェイスの断片を置換するために使用します。