<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                startActivityForResult用于啟動其他指定的Activity,而且期望獲取該指定Activity返回的結果。 啟動其他Activity并返回結果過程: 當前ActivityA需要調用startActivityForResult(int requestCode,Intent intent)請求調用參數intent對應的ActivityB,請求碼是requestCode,同時需要重寫onActivityResult(int requestCode,int resultCode,Intent intent),當被啟動的ActivityB返回結果時,必須使用setResult(int resultCode,Intent intent)將攜帶數據的intent傳回到ActivityA,這個傳回動作響應的結果碼是resultCode,此時會觸發onActivityResult,然后請求碼和結果碼就唯一確定一個過程,然后就可以接下來處理了 請求碼和結果碼 一個Activity中可能包含多個按鈕,并調用多個startActivityForResult方法來打開不同的Activity處理業務,當這些新Activity關閉后,系統會調用前面的Activity的onActivityResult方法。為了知道該方法是由哪個請求結果所觸發的,可利用requestCode標識,為了知道返回的數據來自于那個新的Activity,可利用resultCode標識 例,第二個Activity讓用戶選擇信息然后把結果返回給第一個Activity MainActivity.java ~~~ package com.hust.activityforresult; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity { Button bn; EditText edit; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bn=(Button) findViewById(R.id.button1); edit=(EditText) findViewById(R.id.editText1); bn.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub //創建需要對應目標Activity的intent Intent intent=new Intent(MainActivity.this,CityActivity.class); //啟動指定Activity并等待返回的結果,0是請求碼。用于表示該請求 startActivityForResult(intent ,0); } }); } //重寫該方法,以回調的形式來獲取Activity返回的結果 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); //當請求碼和結果碼都是0時,也就是處理的特定結果 if(requestCode==0&&resultCode==0){ //獲取Bundle中的數據 Bundle bundle=data.getExtras(); String city=bundle.getString("city"); //修改編輯框的內容 edit.setText(city); } } ~~~ CityActivity.java ~~~ package com.hust.activityforresult; import android.app.ExpandableListActivity; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.view.Gravity; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.AbsListView; import android.widget.BaseExpandableListAdapter; import android.widget.ExpandableListAdapter; import android.widget.ExpandableListView; import android.widget.ExpandableListView.OnChildClickListener; import android.widget.TextView; public class CityActivity extends ExpandableListActivity { //定義省份 private String[] provinces={ "廣東","湖北","河南" }; //定義城市 private String[][] cities={ {"廣州","深圳","珠海","惠州"}, {"武漢","襄陽","隨州","十堰"}, {"鄭州","平頂山","信陽","駐馬店"} }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.activity_city); ExpandableListAdapter ad=new BaseExpandableListAdapter(){ private TextView getTextView(){ AbsListView.LayoutParams lp=new AbsListView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,64); TextView textview =new TextView(CityActivity.this); textview.setLayoutParams(lp); textview.setTextSize(16); textview.setGravity(Gravity.CENTER_VERTICAL|Gravity.LEFT); textview.setPadding(30, 5, 0, 5); return textview; } @Override public int getGroupCount() { // TODO Auto-generated method stub return provinces.length; } @Override public int getChildrenCount(int groupPosition) { // TODO Auto-generated method stub return cities[groupPosition].length; } @Override public Object getGroup(int groupPosition) { // TODO Auto-generated method stub return provinces[groupPosition]; } @Override public Object getChild(int groupPosition, int childPosition) { // TODO Auto-generated method stub return cities[groupPosition][childPosition]; } @Override public long getGroupId(int groupPosition) { // TODO Auto-generated method stub return groupPosition; } @Override public long getChildId(int groupPosition, int childPosition) { // TODO Auto-generated method stub return childPosition; } @Override public boolean hasStableIds() { // TODO Auto-generated method stub return false; } @Override public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { // TODO Auto-generated method stub TextView text=getTextView(); text.setTextColor(Color.RED); text.setText(getGroup(groupPosition).toString()); return text; } @Override public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { // TODO Auto-generated method stub TextView text=getTextView(); text.setText(getChild(groupPosition, childPosition) .toString()); return text; } //主要在給子選項設置監聽器時,這個函數一定要返回true,否則監聽器沒有用 @Override public boolean isChildSelectable(int groupPosition, int childPosition) { // TODO Auto-generated method stub return true; } }; //設置adapter setListAdapter(ad); //為每個子選項添加監聽器 getExpandableListView().setOnChildClickListener(new OnChildClickListener(){ @Override public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) { // TODO Auto-generated method stub //獲取啟動該Activity之前的Activity對應的Intent Intent intent=getIntent(); intent.putExtra("city", cities[groupPosition][childPosition]); //設置該Activity的結果碼,并設置結束之后退回的Activity CityActivity.this.setResult(0, intent); //結束本Activity CityActivity.this.finish(); return false; } }); } ~~~ ![](https://box.kancloud.cn/2016-03-10_56e0d9b037ede.jpg) ![](https://box.kancloud.cn/2016-03-10_56e0d9b04d634.jpg) ![](https://box.kancloud.cn/2016-03-10_56e0d9b06135b.jpg)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看