zoukankan      html  css  js  c++  java
  • andriod的简单用法1

    1、从一个Activity跳转到另一个Activity,使用Intent.

        在按钮的onClick中如下写法:

       

    public void Login(View view) {
            Intent intent = new Intent();
            //设置从Relativeactivity跳转到LoginActivity
            intent.setClass(Relativeactivity.this, LoginActivity.class);
            //用putExtra来从一个Activity向另一个来传递数据
            intent.putExtra("name", "独此一家");
            intent.putExtra("password", "1234");
            startActivity(intent);
        }

    在新打开的Activity中进行接收

        private EditText loginNameEditText = null;
        private EditText loginPasswordEditText = null;
        
        protected void onCreate(Bundle savedInstanceBundle) {
            super.onCreate(savedInstanceBundle);
            
            setContentView(layout.login);
            
            //requestWindowFeature(Window.FEATURE_NO_TITLE);
            loginNameEditText = (EditText)findViewById(R.id.LoginName);
            loginPasswordEditText = (EditText)findViewById(R.id.LoginPassword);
            //接到传递过来的Intent 
            Intent intent = getIntent();
            //接收Intent中的数据
            String nameString = intent.getStringExtra("name");
            String passwordString = intent.getStringExtra("password");
            loginNameEditText.setText(nameString);
            loginPasswordEditText.setText(passwordString);
                        
            
        }

    使用隐式 Intent:

    隐式Intent是不指定具体启用哪个Activity,而是设定Intent的 Action和Category属性,有系统分析去启动哪个Activity。

    在AndroidManifest.xml注册Activity的时候设置这两个属性

    <activity android:name=".LoginActivity" android:label="Login"
                >
                <intent-filter>
                    <action android:name="com.example.one.loginactivity" />
    
                    <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
                
            </activity>

    Intent intent= new Intent("com.example.one.loginactivity");

    startActivity(intent) 就可以启动该Activity。

    可以是用 intent.addCategory()来增加intent的Category选项,可以加多个category来唯一确定

    2、判断文本框是否为空,并弹出提示 ,参考链接:http://zhouhaitao.iteye.com/blog/1831523

    public void Login(View view) {
            
            String loginNameString = loginNameEditText.getText().toString();
            String loginPasswordString  = loginPasswordEditText.getText().toString();
            Log.d("LoginActivity", loginNameString);
            //判断是否为空用equals
            if(loginNameString.equals(""))
            {
                //这个提示是显示一下自动就消失了
                Toast.makeText(LoginActivity.this, "请输入用户名", Toast.LENGTH_SHORT).show();
                return;
            }
            else {
                Toast.makeText(LoginActivity.this, "已经有了", Toast.LENGTH_SHORT).show();
            }
            if(loginPasswordString.equals(""))
            {
                //这个是alert提示框,可以设置 标题、内容和按钮,不要忘了最后的show
                new AlertDialog.Builder(view.getContext()).setTitle("提示").setMessage("密码不能为空!")
                .setPositiveButton("确定", null).show();
            }
            
            
        }

    3、返回数据给上个Activity

      有A、B两个Activity,从A启动打开了B。则A是B的上一个activity . 当在B中点击按钮调用finish()销毁B活动,或者点击手机返回键时,则手机返回上个Activity,即显示A。

     ①、点击按钮调用finish()这种的写法:

           在A中打开B活动时,调用 startActivityForResult(intent, requestCode)

          在B中按钮事件中调用setResult(RESULT_OK,intent);finish();来回传数据。

          在A活动中重写onActivityResult(int requestCode,int resultCode,Intent data)来接收B中回传的数据。

    ②、用户点击返回按钮销毁了B活动,这是怎么把数据返回给A。

        在上边说的三个步骤中,没有了第二步的点击按钮调用的事件。而是需要在B活动中重写onBackPressed()方法。

    这里具体每个方法的参数和用法,可以百度搜索或者查帮助文档

  • 相关阅读:
    关于 CommonJS AMD CMD UMD 规范
    如何成为一名卓越的前端工程师
    javascript 中 void 0的含义及undefine于void 0区别
    原生js获取样式表:currentStyle与defaultView的区别 真实例子
    attachEvent与addEventListener的区别 真实例子
    将图片转换成黑白(灰色、置灰)
    前端图片缓存问题
    html里的<wbr>标签什么意思
    关于SQL SERVER中的FLOAT转换为VARCHAR
    记一次工作需求: RSA密钥之C#格式与Java格式转换
  • 原文地址:https://www.cnblogs.com/zhouxiuquan/p/4333083.html
Copyright © 2011-2022 走看看