zoukankan      html  css  js  c++  java
  • startActivityForResult的使用和用法

    startActivityForResult的使用和用法

    startActivityForResult 和 onActivityResult在activity间传递数据
    
    AndroidManifest.xml
        <application
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name" >
            <activity
                android:name=".KakuLogerActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            
            <activity android:name=".LaunchActivity" 
                      android:label="@string/app_name2" >
            </activity>
        </application>
    
    主Activity:
    public class KakuLogerActivity extends Activity {
        
        TextView phoneNumber;
        EditText iNameField;
        int REQUEST_CODE = 0;
        
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
    
            Button launchBtn = (Button)findViewById(R.id.btnLaunchActivity);
            iNameField = (EditText)findViewById(R.id.inamefield);
            phoneNumber = (TextView)findViewById(R.id.phone_number);
    
            launchBtn.setOnClickListener(new OnClickListener(){
                @Override  
                public void onClick(View v) {  
                    Intent newIntent = new Intent(KakuLogerActivity.this, LaunchActivity.class);
                    // 传递参数
                    newIntent.putExtra("name", iNameField.getText().toString()); 
                    // 开始一个新的 Activity等候返回结果
                    startActivityForResult(newIntent, REQUEST_CODE);
                    Log.i("clicked", "open the LaunchActivity page!!!!");
                }
            });
        }
    
        @Override
        // 当结果返回后判断并执行操作
        protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
            super.onActivityResult(requestCode, resultCode, intent);
            if (requestCode == REQUEST_CODE) {
                if (resultCode == RESULT_OK) {
                    Bundle extras = intent.getExtras();
                    if (extras != null) {
                        phoneNumber.setText("Phone #: "
                                + extras.getString("phonenumber"));
                    }
                }
            }
        }
    }
    LaunchActivity:
    public class LaunchActivity extends Activity {
        
        EditText phoneNumber;
        
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            
            super.onCreate(savedInstanceState);
            setContentView(R.layout.layout2);
            Button btn = (Button)findViewById(R.id.btnRtrnActivity);
            TextView oNameField = (TextView)findViewById(R.id.oNameMessege);
            phoneNumber = (EditText)findViewById(R.id.iTelephoneField);
            Log.i("launchActivity", "opened the LaunchActivity page!!!!");
            // 取得前一个画面的传入值
            Bundle extras = getIntent().getExtras();
            oNameField.setText("Hello " + extras.getString("name"));
    
            btn.setOnClickListener(new OnClickListener(){  
                public void onClick(View v) {
                     // 设置返回数据
                    Bundle bundle = new Bundle();
                    bundle.putString("phonenumber", phoneNumber.getText().toString());
                    Intent intent = new Intent();
                    intent.putExtras(bundle);
                    // 返回intent
                    setResult(RESULT_OK, intent);
                    finish();
                }
            });
        }
    }
  • 相关阅读:
    SQL SET NOCOUNT (Transact-SQL)
    Delphi WinAPI DragAcceptFiles、DragQueryFile、DragFinish、DragQueryPoint
    Delphi Thread线程错误:Canvas doesn't allow drawing
    Delphi ADOQuery错误:ADOQuery1:commandtext does not return a result set
    医学-药物-未分类-胃舒平(复方氢氧化铝)
    SQL 查询时间超时已过期(SQL 2000、SQL2005、SQL2008、SQL2012等)
    SQL 数据库引擎语句 sp_executesql 的使用介绍(Transact-SQL)
    android 定位代码
    Centos7开放及查看端口
    非常详细的sklearn介绍
  • 原文地址:https://www.cnblogs.com/yejiurui/p/3200199.html
Copyright © 2011-2022 走看看