android_44_activity反向传值
来源:互联网 发布:混沌与秩序2数据库 编辑:程序博客网 时间:2024/06/10 22:51
效果图:
组织:
清单:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.sg31.choose" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="21" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.sg31.choose.BookChoosenActivity"></activity> <activity android:name="com.sg31.choose.LanguageChoosenActivity"></activity> </application></manifest>
布局:
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.sg31.choose.MainActivity" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <EditText android:id="@+id/et_language" android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content" android:hint="请选择语言" /> <Button android:layout_weight="0" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="+" android:onClick="languageChooseBtnClicked" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <EditText android:id="@+id/et_bookname" android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content" android:hint="请选择教材" android:gravity="top" /><Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="选择教材" android:onClick="bookChooseBtnClicked" /></LinearLayout><Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="开始学习" /></LinearLayout>
activity_languagelist.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" > <ListView android:id="@+id/lv" android:layout_width="match_parent" android:layout_height="match_parent" ></ListView></LinearLayout>
language_cell.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" > <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20sp" /></LinearLayout>
activity_booklist.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" > <ListView android:id="@+id/lv" android:layout_width="match_parent" android:layout_height="match_parent" ></ListView></LinearLayout>
代码:
MainActivity.java
package com.sg31.choose;import android.support.v7.app.ActionBarActivity;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.EditText;public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } public void languageChooseBtnClicked(View c){ //跳转至选择语种Activity Intent intent = new Intent(this, LanguageChoosenActivity.class); //startActivity(intent); //用这个api启动的Activity,在销毁时,系统会回调onActivityResult startActivityForResult(intent, 1000); } public void bookChooseBtnClicked(View v){ //跳转至选择快捷回复的Activity Intent intent = new Intent(this, BookChoosenActivity.class); startActivityForResult(intent, 3000); } //如果有Activity在销毁时返回了数据,那么就会调用此方法来接收数据 //requestCode:用来区分数据来自于哪一个Activity //resultCode:用来区分返回的数据是什么类型的 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); if(requestCode == 1000){ String lan = data.getStringExtra("language"); EditText et_lan = (EditText)findViewById(R.id.et_language); et_lan.setText(lan); } else if(requestCode == 3000){ String bookname = data.getStringExtra("bookname"); EditText et_bookname = (EditText)findViewById(R.id.et_bookname); et_bookname.setText(bookname); } } }
LanguageChoosenActivity.java
package com.sg31.choose;import android.content.Intent;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ArrayAdapter;import android.widget.ListView;public class LanguageChoosenActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_languagelist); ListView lv = (ListView) findViewById(R.id.lv); final String[] objects = new String[]{ "中文", "英语", "日语", "韩语", "泰语", "阿拉伯语" }; // 最简单的适配器 lv.setAdapter(new ArrayAdapter<String>(this, R.layout.language_cell, R.id.tv, objects)); //给listview设置条目的点击侦听 lv.setOnItemClickListener(new OnItemClickListener() { //当某个条目被点击时,此方法调用 public void onItemClick(AdapterView<?> parent, View view, int position, long id) { //Activity返回时传递数据,也是通过意图对象 Intent data = new Intent(); //把要传递的数据封装至意图对象中 String lan = objects[position]; System.out.println("sg__"+lan); data.putExtra("language", lan); //当前Activity销毁时,data这个意图就会传递给启动当前Activity的那个Activity setResult(2000, data); //销毁当前Activity finish(); } }); } @Override public void onBackPressed() { super.onBackPressed(); }}
BookChoosenActivity.java
package com.sg31.choose;import android.content.Intent;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ArrayAdapter;import android.widget.ListView;public class BookChoosenActivity extends ActionBarActivity {protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_booklist); ListView lv = (ListView) findViewById(R.id.lv); final String[] objects = new String[]{ "新编日语1", "新编日语2", "新编日语3", "新编日语4", "大家的日语1", "大家的日语2", "新标日初级上", "新标日初级下", "新标日中级上", "新标日中级下", "新标日高级上", "新标日高级下",}; lv.setAdapter(new ArrayAdapter<String>(this, R.layout.language_cell, R.id.tv, objects)); lv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Intent data = new Intent(); data.putExtra("bookname", objects[position]); setResult(4000, data); finish(); } });}}
0 0
- android_44_activity反向传值
- cocos2dx反向传值
- 正向反向传值
- 代理反向传值
- iOS 反向传值
- 协议、反向传值
- 代码块反向传值以及反向处理UI
- UIViewController 正向,反向传值
- Block传值 反向传值
- ios UIViewController 反向传值
- iOS---block反向传值
- iOS 代理反向传值
- iOS block反向传值
- iOS 代理反向传值
- IOS代理反向传值
- iOS 代理反向传值
- Swift 闭包传值 反向传值
- 通过属性反向传值
- 分布式文件系统FastDFS设计原理
- 用WebStorm开发TypeScript
- python构造字典的dict()函数理解
- (一)剑指Offer之二维数组中的查找
- 【Codeforces 754 B Ilya and tic-tac-toe game】
- android_44_activity反向传值
- c++ 内存管理基础篇 综合介绍
- const的用法总结
- Shell字符串比较相等、不相等方法小结
- java连接MySQL数据库DB类底层框架代码实现
- 【项目实战】---用户模块,验证码程序
- 【LeetCode】19. Remove Nth Node From End of List
- 微服务实战系列文章
- 【ES6】Generators的原理