android有返回结果的 Activity

package com.example.android.active;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
/**
 * Activity实现返回结果
 * 1.需要得到activity的返回结果,必须使用startActivityForResult()方法启动另一个activity
 * 2.必须重写onActivityResult()方法来处理返回结果
 * 3.在返回结果的activity中要使用setResult()方法设置结果
 * 
 * */
public class MainActivity3 extends Activity implements OnClickListener{
	private Button button1;
	private EditText etNumber;
	private static final int REQUESTCODE=1;    //请求编码,只是做一个标记,以便在onActivityResult()中识别
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main3);
		button1=(Button) findViewById(R.id.submit1);
		button1.setOnClickListener(this);
		etNumber=(EditText) findViewById(R.id.EditPhoneNumber);

	}
	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		//启动一个有返回结果的Activity
		Intent intent=new Intent(this,MainActivity4.class);
		//参数:1.intent对象  2.请求编码(标记)可以是正整数值
		startActivityForResult(intent, REQUESTCODE);

	}
	//重写返回结果的方法
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		// TODO Auto-generated method stub
		super.onActivityResult(requestCode, resultCode, data);
		switch (requestCode) {
		case REQUESTCODE:
			if(resultCode==RESULT_OK){
				String phone=data.getStringExtra("phone");
				etNumber.setText(phone);
			}
			break;

		default:
			break;
		}
	}
}
package com.example.android.active;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity4 extends Activity implements OnItemClickListener{
	private ListView listView;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main4);
		listView=(ListView) findViewById(R.id.listView1);
		String [] array={"123","334","435"};
		ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_single_choice,array);
		listView.setAdapter(adapter);
		listView.setOnItemClickListener(this);

	}
	@Override
	public void onItemClick(AdapterView<?> arg0, View v, int arg2, long arg3) {
		// TODO Auto-generated method stub
		TextView textView=(TextView)v;
		String s=(String) textView.getText().toString();
		System.out.println(s);
		//设置返回的结果
		Intent intent=new Intent();
		intent.putExtra("phone", s);
		this.setResult(RESULT_OK, intent);

		this.finish();
	}

}

activity_main3.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    
    <EditText 
        android:id="@+id/EditPhoneNumber"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入"
        
        />
    
	<Button 
	     android:id="@+id/submit1"
	    android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:text="提交"
			    
	    
	    />
</LinearLayout>

activity_main4

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        >
    </ListView>

</LinearLayout>

谷歌中国

时间: 2024-10-21 05:23:36

android有返回结果的 Activity的相关文章

Android ActionBar返回父级Activity

当子级Activity继承ActionBarActivity类之后 当运行在 Android 4.1(API level 16) 或更高版本,或者使用 Support 库中的 ActionBarActivity 时,实现向上导航需要在 manifest 文件中声明父 activity ,同时在 action bar 中设置向上按钮可用. 子级Activity声明 <activity android:name="{子级包名}" android:parentActivityName=

Android双击返回键退出Activity的方法

第一种:利用线程延时实现: private int mBackKeyPressedTimes = 0; @Override public void onBackPressed() { if (mBackKeyPressedTimes == 0) { Toast.makeText(this, "再按一次退出程序 ", Toast.LENGTH_SHORT).show(); mBackKeyPressedTimes = 1; new Thread() { @Override public

Android双击返回键退出Activity的两种方法

在开发应用程序的时候,有一种功能是非常常用到的,那就是迅速双击返回按钮,然后实现退出Activity的功能.本人在网上看了很多资料代码,总结起来,主要有两种比较好的方式.一种是开线程延时执行,一种是记录按键时间计算时间差实现.现在跟大家分享一下,代码如下,希望对大家有帮助: 第一种:利用线程延时实现: private int mBackKeyPressedTimes = 0; @Override public void onBackPressed() { if (mBackKeyPressedT

android webview点击返回键返回上一级activity

android webview点击返回键返回上一个activity 1 @Override 2 public boolean onKeyDown(int keyCode, KeyEvent event) { 3 // TODO Auto-generated method stub 4 if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { 5 return true; 6 } 7 return super

Android中打开多个Activity,返回到第一个Activity

问题:Android顺序打开多个Activity,如何返回到第一个Activity(一般为首页)? 情形:如 A 打开 B, B 打开 C, C 打开 D, 然后如果从 D 一步返回到 A,并清楚掉 B.C.D呢? 一个很笨的方法是: Intent intent= new Intent(this, 首页Activity.class); startActivity(intent); Android开发过程中肯定会经常遇到要返回首页的情形,google当然想到了这一点,实现起来很简单,只要在打开的最

android中的返回键与Activity

我在做应用时遇到一个问题,就是在启动主页面时需要预先加载一些数据,我是在一个加载页中处理完这些数据然后再转到主页面,但当我在主页面中按返回键时,系统会返回加载页面.我不希望加载页在使用完之后还被保留在任务中. Android的官方文档中这样描述的返回栈.任务和activity的默认关系: 1:当从Activity A中启动Activity B时,Activity A停止,但是保存了它的状态(比如,滚动位置和表单中的文字).如果当用户在Activity B中按了返回键,Activity A会恢复之

Android应用程序窗口(Activity)的窗口对象(Window)的创建过程分析

http://blog.csdn.net/luoshengyang/article/details/8223770 在前文中,我们分析了Android应用程序窗口的运行上下文环境的创建过程.由此可知,每一个Activity组件都有一个关联的ContextImpl对象,同时,它还关联有一个Window对象,用来描述一个具体的应用程序窗口.由此又可知,Activity只不过是一个高度抽象的UI组件,它的具体UI实现其实是由其它的一系列对象来实现的.在本文中,我们就将详细分析Android应用程序窗口

Android开发学习之路--Activity之四种启动模式

后天终于可以回家了,马上就要过年了,趁着年底打酱油的模式,就多学习学习,然后记录记录吧.关于Activity已经学习了七七八八了,还有就是Activity的四种启动模式了,它们分别为,standard,singleTop,singleTask,singleInstance,根据名字也差不多可以理解这四种模式了: 1.standard:标准启动模式,默认情况下就是这个模式了,这个模式下启动的Activity会被多次实例化. 2.singleTop:这个模式下启动Activity的话,如果栈顶也是同

android开发学习笔记(三)Activity跳转以及传值

一:步骤: 1创建Intent对象,参数中指定将要跳转到的class 2通过Intent对象的putExtra()方法指定要传到下一个页面的数据.方法参数用键值对. 3通过调用startActivity(Intent intent)方法或者startActivityForResult(Intent intent,int requestCode)方法启动跳转. startActivtyForResult():Activity A跳转到Activity B,Activity B可以返回数据给Acti