在Activity中 使用Intent进行页面跳转
第一种方法 是没有返回参数的 使用了button_first
第二种方法是有返回参数的 使用了按钮 button_second
代码如下
package com.example.admin.test0305_2;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
/**
* Created by admin on 2016/3/6.
*/
public class Select extends Activity{
private Button button1;
private Button button2;
private TextView textview;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.select);
button1= (Button) findViewById(R.id.button_first);
button2= (Button) findViewById(R.id.button_secobd);
textview= (TextView) findViewById(R.id.textView);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(Select.this,MainActivity.class);
startActivity(intent);
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(Select.this,MainActivity.class);
startActivityForResult(intent,1);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==1&&resultCode==2){
String content=data.getStringExtra("data");
textview.setText(content);
}
}
}
第二个页面的代码如下
package com.example.admin.test0305_2;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.Window;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private Button button;
private String content="你好第一个界面~~~~~";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
button= (Button) findViewById(R.id.button_two);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent data=new Intent();
data.putExtra("data",content);
setResult(2,data);
finish();
}
});
}
}
可以发现两种方式区别在于 一个是startActivity() 另一个是startActivityForResult()
第一种很简单
重点是第二种
记录一下
startActivityForResult(intent,1)中 第一个是传入需求 第二是记录一个需求码 这里是1 也就是后面方法
protected void onActivityResult(int requestCode, int resultCode, Intent data)
中的requestCode
这个方法可以直接重写
然后在第二个页面代码中 对其中的button_two 添加监听事件
因为没有其他的需求所以Intent()中没有内容
通过intent的 putExtra方法向 “data”中添加字符串 content
然后对intent data记录结果码 resultCode 2
在第一个界面代码方法中 对去需求码和结果码进行判断
这样找到相应的data(intent类型)然后通过
String content=data.getStringExtra("data");
textview.setText(content);
取出data中的字符串 然后写入textview中
虽然很很简单 但是我还是看了好久,真希望自己也能随随便便就是一大串代码写出来 唉 加油吧骚年~~~~~