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
原创粉丝点击