android中Toast,Menu及Inten的用法

来源:互联网 发布:奥匈帝国 知乎 编辑:程序博客网 时间:2024/05/21 23:32
这学期正式开始学习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();    }
原创粉丝点击