Day1 Toast/Menu/Intent传递数据

时间:2023-03-09 09:10:10
Day1 Toast/Menu/Intent传递数据

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

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


在活动中使用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();
}