Intent传值回传、随机数、获取系统时间
intent传值:
Intent intent = new Intent();
intent.putExtra("message", “内容”);//第一个参数message表示发送与接收的暗号,第二个则为发送的内容
intent.setClass(MainActivity.this, MainActivity1.class);//从MainActivity传值到MainActivity1处
startActivity(intent);
Intent接收:
Intent intent = getIntent();
String mes = intent.getStringExtra("message");//自定义一个mes接收传来的内容
textView.setText(mes);布局写的一个textview控件用于显示接收到的值
Intent传值回传
第一个MainActivity:
先传值给MainActivity1
Intent intent = new Intent();
intent.putExtra("message", "内容");
intent.setClass(MainActivity.this, MainActivity1.class);
startActivityForResult(intent, 1000);//1000表示传值的标志,可以随便定义
处理回传回来的值:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1000 && resultCode == 1001) {
String result_value = data.getStringExtra("result");
editText3.setText(result_value);
}
}
第二个MainActivity1中:
Intent intent = new Intent();
intent.putExtra("result", "内容");
/*
* 调用setResult方法表示我将Intent对象返回给之前的那个Activity,这样就可以在onActivityResult方法中得到Intent对象,
*/
setResult(1001, intent);//1001表示回传的标志,对应resultCode
finish(); //结束当前这个Activity对象的生命
随机数:
Random random = new Random();
System.out.println("random.nextInt()=" + random.nextInt(20));
Toast.makeText(this, "random.nextInt()=" + random.nextInt(20), Toast.LENGTH_SHORT).show();
// random.nextInt(20)表示随机数范围在0-20
// Random rand=new Random();
// int randNum = rand.nextInt(50)+50; 表示范围在50-100
利用随机数使传入的参数随机重复几遍
private String getRandomLengthName(String name){
Random random = new Random();
int length = random.nextInt(20)+1;
StringBuilder builder = new StringBuilder();
for(int i=0;i<length;i++){
builder.append(name);
}
return builder.toString();
}
获取系统时间:
Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
String time = dateFormat.format(date);
Toast.makeText(this, "当前时间" + time, Toast.LENGTH_SHORT).show();
具体代码
MainActivity:
public class MainActivity extends Activity {
private Button button;
private EditText editText1;
private EditText editText2;
private EditText editText3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
editText1 = (EditText) findViewById(R.id.editText1);
editText2 = (EditText) findViewById(R.id.editText2);
editText3 = (EditText) findViewById(R.id.editText3);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.putExtra("message", editText1.getText().toString().trim() + " + " + editText2.getText().toString().trim() + " = ?");
testRandom1();
Date();
intent.setClass(MainActivity.this, MainActivity1.class);
startActivityForResult(intent, 1000);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1000 && resultCode == 1001) {
String result_value = data.getStringExtra("result");
editText3.setText(result_value);
}
}
private void Date() {//获取系统时间
Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
String time = dateFormat.format(date);
Toast.makeText(this, "当前时间" + time, Toast.LENGTH_SHORT).show();
}
//生成随机数
private void testRandom1() {
Random random = new Random();
System.out.println("random.nextInt()=" + random.nextInt(20));
Toast.makeText(this, "random.nextInt()=" + random.nextInt(20), Toast.LENGTH_SHORT).show();
//random.nextInt(20)表示随机数范围在0-20
}
}
activity_main:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
tools:context=".MainActivity">
<EditText
android:id="@+id/editText1"
android:layout_width="70dp"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/textView1"
android:layout_width="60dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/editText1"
android:text=" + "
android:textSize="30sp" />
<EditText
android:id="@+id/editText2"
android:layout_width="60dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/textView1" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/editText2"
android:text=" = "
android:textSize="30sp" />
<EditText
android:id="@+id/editText3"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/textView2" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editText3"
android:layout_centerInParent="true"
android:layout_marginTop="30dp"
android:text="跳转到SecondActivity" />
</RelativeLayout>
MainActivity1:
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import java.util.Random;
public class MainActivity1 extends AppCompatActivity {
private TextView w;
private Button button;
private TextView textView;
private EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main1);
// initview();
button = (Button)findViewById(R.id.button1);
textView = (TextView)findViewById(R.id.textView1);
editText = (EditText)findViewById(R.id.editText1);
Intent intent = getIntent();
String message = intent.getStringExtra("message");
textView.setText(message);
button.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
String result = editText.getText().toString().trim();
Intent intent = new Intent();
intent.putExtra("result", result);
/*
* 调用setResult方法表示我将Intent对象返回给之前的那个Activity,这样就可以在onActivityResult方法中得到Intent对象,
*/
setResult(1001, intent);
// 结束当前这个Activity对象的生命
finish();
}
});
}
}
activity_main1:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/textView1"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:textSize="20sp"/>
<EditText
android:id="@+id/editText1"
android:layout_width="60dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/textView1"/>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/editText1"
android:text="返回给MainActivity"/>
</RelativeLayout>