Day1 Toast/Menu/Intent传递数据

                       ** --------------->未经允许,禁止转载<----------------**

今天是我读《第二行代码》的第一天,也是我第一次开始写CSDN博客,之前的笔记都在OneNote上,后来发现OneNote没有代码段功能,不能满足需求。同时发现CSDN博客环境挺友好的,在考虑要不要把笔记都复制上来呢。


在活动中使用Toast

protected void onCreate(BundlesavedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.first_layout);
    Button button1 = (Button) findViewById(R.id.button_1);
    button1.setOnClickListener(newView.OnClickListener(){
        @Override
        public void onClick(Viewv){
            Toast.makeText(FirstActivity.this,"Fuckyou",Toast.LENGTH_SHORT).show();
            Intentintent = newIntent("com.example.activitytest.ACTION_START");
            //调用startActivity方法的时候会自动将android.intent.category.DEFAULT添加到Intent中
            startActivity(intent);
        }
    });
}

在活动中使用Menu

@Override
public boolean onCreateOptionsMenu(Menu menu){
    //创建菜单,传入R.menu.main布局文件,第二个参数用于指定菜单项将添加到哪一个Menu对象中,这里直接使用onCreateOptionsMenu方法中传入的menu参数
    getMenuInflater().inflate(R.menu.main, menu);
    //返回true表示允许创建的菜单显示出来,返回false则无法显示
    return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
    //通过getItemID()来判断点击的是哪一个菜单项
    switch(item.getItemId()){
        case R.id.add_item:
            Toast.makeText(this, "YouclickedAdd", Toast.LENGTH_SHORT).show();
            break;
        case R.id.remove_item:
            Toast.makeText(this, "Sorry,you can't remove anything cause' you're stupid!", Toast.LENGTH_LONG).show();
            break;
        default:
    }
    return true;
}

使用Intent在活动之间穿梭
在FirstActivity中:
(创建活动)

Intent intent= new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("extra_data",data);
startActivityForResult(intent,1);

(对return做出响应)

@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:
    }
}

在SecondActivity中:
(接收数据)

Intent input=getIntent();
String data=input.getStringExtra("extra_data");

(返回数据到上一级)

Intent intent = new Intent();
intent.putExtra("data_return","Fuck you too FirstActivity");
setResult(RESULT_OK,intent);
finish();

(如果不是通过点击按钮,而是通过按下Back键回到FirstActivity,则重写onBackPressed()方法)

public void onBackPressed(){
    Intent intent = new Intent();
    intent.putExtra("data_return","Fuck you First Activity I'm BACK!");
    setResult(RESULT_OK,intent);
    finish();
}
posted @ 2016-12-09 21:00  冰芒  阅读(100)  评论(0编辑  收藏  举报