android中Toast,Menu及Inten的用法

这学期正式开始学习android,在十一及本周学习了《android第一行代码》的前三章,进度稍快,在此写几篇博客回忆所学,加深记忆!
Toast的用法
protected void onCreate(Bundle savedIntanceState){
        super.onCreate(savedIntanceState);
        //传入布局
        setContentView(R.layout.first_layout);
        //获取布局文件中定义的元素,将返回的View对象向下转型Button,实例化button。
        Button button1=(Button)findViewById(R.id.button_1);
        button1.setOnClickListener(new View.OnClickListener(){
        //注册监听器,点击按钮时执行onClick()方法
            @Override
            public void onClick(View v){
            //makeText()需要传递3个参数,第一个是Context对象,第二个是Toast显示的文本内容,第三个是显示时长
                Toast.makeText(FirstActivity.this,
        "You click Button1",Toast.LENGTH_SHORT).show();
            }
        });
    }
Menu的用法
首先在layout中完成布局设置,然后可用Ctrl O重写相关方法
public boolean onCreateOptionsMenu(Menu menu){
    //inflate()方法接受两个参数,第一个是创建菜单的资源文件,第二个是所添加的menu对象
    getMenuInflater().inflate(R.Menu.main,menu);
    return true;
}

public boolean onOptionsItemSelected(MenuItem item){
    switch (item.getItemId()){
    case R.id.item_1:
        Toast.makeText(this,
            "You click item_1",Toast.LENGTH_SHORT).show();
        break;
    case R.id.item_2:
        Toast.makeText(this,
            "You click item_1",Toast.LENGTH_SHORT).show();
        break;
    case R.id.item_n
        ......
        break;
    default:
    }
    return true;
}       

显示Intent的用法

    button1.setOnClickListener(new View.OnClickListener(){
        //注册监听器,点击按钮时执行onClick()方法
        @Override
        public void onClick(View v){
        //Intent(Context packageContent,Class<?>cls)
        //Context第一个参数是启动活动的上下文,第二个是启动的活动目标
            Intent intent=new Intent(Main1Activity.this ,Main2Activity.class);
            startActivity(intent);

隐式Intent的用法

 <intent-filter>
     <action android:name="com.example.a11709.
         activitytest.ACTION_START" />
     <category android:name="android.intent.
         category.DEFAULT" />
     <category android:name="com.example.a11709.
     activitytest.MY_CATEGORY" />
 </intent-filter>

button1.setOnClickListener(new View.OnClickListener(){
        //注册监听器,点击按钮时执行onClick()方法
        @Override
        public void onClick(View v){
            Intent intent=new Intent("com.example.a11709.
                activitytest.ACTION_START");            /*intent.addCategory("android.intent.category.
        DEFAULT");默认,可不写*/   
        intent.addCategory("com.example.a11709.
            activitytest.MY_CATEGORY");
        startActicity(intent);        

Intent向下一个活动传递数据

button1.setOnClickListener(new View.OnClickListener(){
        //注册监听器,点击按钮时执行onClick()方法
        @Override
        public void onClick(View v){
        String data="Hellow Main2Activity"
            Intent intent=new Intent(MainActivity.this,Main2Activity.class);
            //putExtra()方法接受两个参数,第一个是键,第二个是传递的数据
            intent.putExtra("extra_data",data);            
            startActicity(intent);
        }
    }

public class Main2Activity extends appCompatActivity{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second_layout);
        Intent intent=getIntent();
        String data=intent.getStringExtra("extra_data");
        Log.d("Main2Activity",data);
}        

Intent返回给上一个数据
在MainActivity的点击事件中如下写

    Intent intent =new
    Intent(MainActivity.this,Main2Activity.class);
    startActivityForResult(intent,1);

同时重写onActivityResult方法

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        switch (requestCode){
            case 1:
                if(resultCode==RESULT_OK){
                    String returnedData=data.getStringExtra("data_return");
                    Log.d("FirstActivity",returnedData);
                }
                break;
            default:
        }
    }

在Main2Activity方法中如下写

     Button button2 = (Button) findViewById(R.id.button_2);
     button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.putExtra("data_return","Hellow FirstActivity");
                setResult(RESULT_OK,intent);
                finish();
            }
       }

并且在Main2Activity中重写onBackPresed方法

 @Override
 public void onBackPressed(){
        Intent intent = new Intent();
        intent.putExtra("data_return","Hellow FirstActivity");
        setResult(RESULT_OK,intent);
        finish();
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值