android 16 带返回值的activity

main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <Button
        android:id="@+id/btnLogin"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="登陆" />
    <Button
        android:id="@+id/btnRegister"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="注册" />

</LinearLayout>

login.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:stretchColumns="1" >

        <TableRow>

            <TextView android:text="输入编号" />

            <EditText android:hint="2-10个字符"
                android:id="@+id/etId"/>
        </TableRow>

        <TableRow>

            <TextView android:text="密码" />

            <EditText
                android:id="@+id/etPwd"
                android:hint="2-10个字符"
                android:password="true" />
        </TableRow>
    </TableLayout>

    <TableLayout
        android:layout_marginTop="20dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:stretchColumns="0,1" >

        <TableRow>

            <Button
                android:id="@+id/btnLogin"
                android:background="@drawable/btn_bg"
                android:drawableLeft="@drawable/login32x32"
                android:padding="3dp"
                android:text="登陆"
                android:textColor="#fff"
                android:layout_gravity="center_horizontal"/>

            <Button
                android:id="@+id/btnExit"
                android:background="@drawable/btn_bg"
                android:drawableLeft="@drawable/exit32x32"
                android:padding="3dp"
                android:text="退出"
                android:textColor="#fff"
                android:layout_gravity="center_horizontal"/>
        </TableRow>
    </TableLayout>

</LinearLayout>

mainActivity

package com.sxt.day04_02;

import com.sxt.day04_02.entity.User;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;

public class MainActivity extends Activity {
    static final int ACTION_LOGIN=0;
    static final int ACTION_REGISTER=10;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setListener();//设置监听器
    }

    //设置监听器
    private void setListener() {
        setLoginClickListener();
        setRegisterClickListener();
    }

    private void setRegisterClickListener() {
        findViewById(R.id.btnRegister).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        });
    }

    private void setLoginClickListener() {
        findViewById(R.id.btnLogin).setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent=new Intent(MainActivity.this, LoginActivity.class);//当前activity和目标activity
                startActivityForResult(intent, ACTION_LOGIN);//启动LoginActivity并且要求他返回结果,ACTION_LOGIN请求码0,
            }
        });
    }

    @Override//接收acticity返回的结果
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {//requestCode是请求码,就是这里的ACTION_LOGIN,resultCode是loginactivity的返回值OK,data是loginactivity的Intent对象。
        super.onActivityResult(requestCode, resultCode, data);
        if(resultCode!=RESULT_OK){
            return ;
        }
        switch (requestCode) {
        case ACTION_LOGIN:
            User user=(User) data.getSerializableExtra("user");
            Log.i("main",user.toString());
            break;
        case ACTION_REGISTER:

            break;
        }
    }
}

loginActivity:

package com.sxt.day04_02;

import com.sxt.day04_02.entity.User;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;

public class LoginActivity extends Activity {
    EditText metId,metPwd;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        initView();
        setListener();
    }

    private void setListener() {
        setLoginClickListener();
        setExitClickListener();
    }

    private void setExitClickListener() {//退出则不返回结果,
        findViewById(R.id.btnExit).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
    }

    private void setLoginClickListener() {
        findViewById(R.id.btnLogin).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                String id=metId.getText().toString();
                if(TextUtils.isEmpty(id)){
                    metId.setError("编号不能为空");
                    return ;
                }
                String pwd=metPwd.getText().toString();
                if(TextUtils.isEmpty(pwd)){
                    metPwd.setError("密码不能为空");
                    return ;
                }
                User user=new User(Integer.parseInt(id), pwd);
                Intent data=new Intent(LoginActivity.this, MainActivity.class);//当前activity和返回的activity
                data.putExtra("user", user);
                setResult(RESULT_OK, data);//设置返回结果,
                finish();//关闭当前activity
            }
        });
    }

    private void initView() {
        metId=(EditText) findViewById(R.id.etId);
        metPwd=(EditText) findViewById(R.id.etPwd);
    }

}
时间: 2025-01-12 07:00:06

android 16 带返回值的activity的相关文章

Android带返回值的窗口跳转

1.AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.fish.helloworld" android:versionCode="1" android:vers

自定义Dialog以及Dialog返回值到Activity

步骤: 1.定义自定义的Dialog的布局文件 2.写一个类MyDialog继承Dialog 3.Dialog 返回值到Activity的方法是定义一个接口,接口中定义返回值到Activity的方法,MyDialog实现这个接口,然后在需要的位置调用接口中的方法,Activity实现这个接口, 重写接口的方法 代码如下 return_code_dialog.xml <?xml version="1.0" encoding="utf-8"?> <Li

测试 多线程 实现 callable 带返回值

1 package threadTest; 2 3 import java.util.ArrayList; 4 import java.util.Date; 5 import java.util.concurrent.Callable; 6 import java.util.concurrent.ExecutionException; 7 import java.util.concurrent.ExecutorService; 8 import java.util.concurrent.Exec

慕课网-Java入门第一季-7-3 Java 中无参带返回值方法的使用

来源:http://www.imooc.com/code/1579 如果方法不包含参数,但有返回值,我们称为无参带返回值的方法. 例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值为 int 类型的方法,执行的操作为计算两数之和,并返回结果 在 calSum( ) 方法中,返回值类型为 int 类型,因此在方法体中必须使用 return 返回一个整数值. 调用带返回值的方法时需要注意,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理.如:

Java 中带参带返回值方法的使用

如果方法既包含参数,又带有返回值,称为带参带返回值的方法. 例: 实现功能:将考试成绩排序并输出,返回成绩的个数 实现思路: 1. 定义一个包含整型数组参数的方法,用来传入成绩数组 2. 在方法体中使用 Arrays.sort( ) 方法对成绩数组进行排序,然后使用 Arrays.toString( ) 方法将数组转换为字符串并输出,最后使用 return 返回数组中元素的个数. 3. 调用方法时需要先创建对象,然后再调用.调用时为其传入成绩数组,并获取方法的返回值,保存在变量中,最后输出成绩的

Java 中无参带返回值方法的使用

如果方法不包含参数,但有返回值,我们称为无参带返回值的方法. 例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值为 int 类型的方法,执行的操作为计算两数之和,并返回结果 在 calSum( ) 方法中,返回值类型为 int 类型,因此在方法体中必须使用 return 返回一个整数值. 调用带返回值的方法时需要注意,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理.如: 运行结果为: 两数之和为:17 不容忽视的“小陷阱”: 1. 如果方

Java基础---Java中无参数带返回值方法的使用(三十七)

Java 中无参带返回值方法的使用 如果方法不包含参数,但有返回值,我们称为无参带返回值的方法. 例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值为 int 类型的方法,执行的操作为计算两数之和,并返回结果 在 calSum( ) 方法中,返回值类型为 int 类型,因此在方法体中必须使用 return 返回一个整数值. 调用带返回值的方法时需要注意,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理.如: 运行结果: 不容忽视的"小陷阱&

ajax请求且带返回值的代码实例

ajax请求且带返回值的代码实例: 现在比较流行使用jquery的ajax来实现一些无刷新请求效果,本章节提供一个非常简单的代码实例供大家参考之用,希望能够给需要的朋友带来一定的帮助,代码如下: <script type="text/javascript"> /* 请求Ajax 带返回值,并弹出提示框提醒 --------------------------------------------------*/ function getAjax(url,parm,callBa

13 继续C#中的方法,带返回值的方法介绍

在这一个练习中,我们要使用带返回值的方法.如果一个方法带返回值,那么它的形式是这样的. 定义一个带返回值的C#方法 static 返回类型 方法名字 (参数类型 参数1的名字,参数类型 参数2的名字) { 你的代码 return 返回值 } static: 先不用管是什么意思.在没有讲它的含义之前,在你写的每个方法中都要加上它. 返回类型:就是我们前面讲过的数据类型,int,string等等.通常一个方法调用后要给调用这个方法的地方返回一个值. 方法名字:你可以给方法起一个你想要的名字.不能瞎起