zoukankan      html  css  js  c++  java
  • Android开发之使用意图

    意图的用途一般是连接活动,传递数据,从意图返回数据等,下面的例子就是利用意图来交互MainActivity和SecondActivity这两个活动。

    效果图如下:

    实现代码如下:

    MainActivity类代码:

    package com.example.usingintent;
    
    import android.R.integer;
    import android.app.Activity;
    import android.app.LauncherActivity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
        int request_Code = 1;
        protected void onCreate(Bundle savedInstanceState){
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
        }
        
        public void onClick(View v){
            Intent intent = new Intent(MainActivity.this,SecondActivity.class);
            startActivity(intent);
        }
        public void onClick2(View v){
            Intent intent = new Intent(MainActivity.this,SecondActivity.class);
            startActivityForResult(intent, request_Code);
            
        }
        public void onClick3(View v){
            Intent intent = new Intent("com.example.usingintent.SecondActivity");
            intent.putExtra("str1", "This is string 1");
            intent.putExtra("age1", 24);
            
            Bundle bundle = new Bundle();
            bundle.putString("str2", "This is string 2");
            bundle.putInt("age2", 48);
            intent.putExtras(bundle);
            
            startActivityForResult(intent, request_Code);
            
        }
    
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            // TODO Auto-generated method stub
            if(requestCode == request_Code){
                if(resultCode==RESULT_OK){
                    Toast.makeText(this, data.getData().toString(),    Toast.LENGTH_SHORT).show();
                }else if(resultCode == 24){
                    Toast.makeText(this, Integer.toString(data.getIntExtra("age3", 1)), Toast.LENGTH_SHORT).show();
                    Toast.makeText(this, data.getData().toString(), Toast.LENGTH_SHORT).show();
                }
            }
        }
        
    }

    SecondActivity类代码:

    package com.example.usingintent;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.net.Uri;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.EditText;
    import android.widget.Toast;
    
    public class SecondActivity extends Activity {
        protected void onCreate(Bundle savedInstanceState){
            super.onCreate(savedInstanceState);
            setContentView(R.layout.second);
            
            //获取传递过来的数据
            Toast.makeText(this, getIntent().getStringExtra("str1"), Toast.LENGTH_SHORT).show();
            Toast.makeText(this, Integer.toString(getIntent().getIntExtra("age1",0)), Toast.LENGTH_SHORT).show();
            
            Bundle bundle = getIntent().getExtras();
            Toast.makeText(this, bundle.getString("str2"), Toast.LENGTH_SHORT).show();
            Toast.makeText(this, Integer.toString(bundle.getInt("age2")), Toast.LENGTH_SHORT).show();
            
        }
        public void onClick(View v) {
            Intent data = new Intent();
            EditText editText = (EditText)findViewById(R.id.txt_username);
            
            data.setData(Uri.parse(editText.getText().toString()));
            setResult(RESULT_OK, data);
            
            //destroy current activity
            finish();
        }
        public void onClick2(View v) {
            Intent intent = new Intent();
            //返回数据
            intent.putExtra("age3", 45);
            intent.setData(Uri.parse("something pass back to main activity"));
            setResult(24, intent);
            
            //destroy current activity
            finish();
        }
    }
  • 相关阅读:
    element表格添加序号
    ZOJ 3822 Domination(概率dp)
    HDU 3037(Lucas定理)
    HDU 5033 Building(单调栈维护凸包)
    HDU 5037 Frog(贪心)
    HDU 5040 Instrusive(BFS+优先队列)
    HDU 5120 Intersection(几何模板题)
    HDU 5115 Dire Wolf(区间dp)
    HDU 5119 Happy Matt Friends(dp+位运算)
    C++ string详解
  • 原文地址:https://www.cnblogs.com/JczmDeveloper/p/3654738.html
Copyright © 2011-2022 走看看