在Activity之间传递数据

来源:互联网 发布:最好的seo 编辑:程序博客网 时间:2024/05/23 00:08
<1>传递基本数据类型
基本数据类型:
整:byte short int long
浮点:float double 
布尔:boolean
字符:char

引用:String


代码及运行结果


---------------------activity_main_xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout    xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"    android:layout_height="match_parent" tools:context="com.example.g160628_11_widget.MainActivity">    <EditText        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:hint="请输入用户名"        android:id="@+id/et_main_uname"/>    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="写心情"        android:onClick="xinq"/>    <!--文本框-->    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/tv_main_showThink"/></LinearLayout>

------------------------------------MainActivity.java

package com.example.g160628_11_widget;import android.content.Intent;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.EditText;import android.widget.TextView;public class MainActivity extends AppCompatActivity {    private EditText et_main_uname;    private TextView tv_main_showThink;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        et_main_uname = (EditText) findViewById(R.id.et_main_uname);        tv_main_showThink = (TextView) findViewById(R.id.tv_main_showThink);/*        String content=getIntent().getStringExtra("content");        tv_main_showThink.setText(content);*/    }    public void xinq(View view){        //点按钮拿到用户名        String uname=et_main_uname.getText().toString();        //邮递员        Intent intent=new Intent(this,ThinkActivity.class);        intent.putExtra("uname",uname);        //很普通的跳        //startActivity(intent);        //有目的的跳        startActivityForResult(intent,0x201);    }    //专门有一个方法来拿结果数据    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        super.onActivityResult(requestCode, resultCode, data);        String content=data.getStringExtra("content");        tv_main_showThink.setText(content);    }}
---------activity_think.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:layout_width="wrap_content"        android:layout_height="50dp"        android:id="@+id/tv_think_showName"        />    <Button        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="上面是文本框,接收用户名的"/>        <EditText            android:layout_width="368dp"            android:layout_height="wrap_content"            android:lines="5"            android:hint="请输入心情"            android:gravity="top"            android:id="@+id/et_think_content"             />    <Button        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="确定"        android:onClick="ok"/></LinearLayout>

------------------ThinkActivity.java
package com.example.g160628_11_widget;import android.content.Intent;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.EditText;import android.widget.TextView;public class ThinkActivity extends AppCompatActivity {    private TextView tv_think_showName;    private EditText et_think_content;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_think);        tv_think_showName = (TextView) findViewById(R.id.tv_think_showName);        et_think_content = (EditText) findViewById(R.id.et_think_content);        //获取第一个页面传递过来的数据(获取邮递员的值)        String uname=getIntent().getStringExtra("uname");        tv_think_showName.setText("你好:"+uname);    }    public void  ok(View view){        //拿心情的内容        String content=et_think_content.getText().toString();        Intent intent=new Intent(this,MainActivity.class);        intent.putExtra("content",content);        //设置结果        setResult(0x100,intent);        //干掉自己        finish();        //startActivity(intent);    }}

效果:





原创粉丝点击