方法一:Intent.putExtra(String name, 数据 类型 value);
注:示例代码如下:
(1)MainActivity文件:
package com.example.app_2;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button =(Button)findViewById(R.id.button_1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent =new Intent();
intent.setClass(MainActivity.this,MainActivity2.class);
intent.putExtra("news_title","安卓开发行情新闻"); //创建相应的信息
intent.putExtra("comment_count",11122); //创建相应的信息
startActivity(intent);
}
});
}
}
(2)MainActivity2文件:
package com.example.app_2;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity2 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
TextView comment_count = findViewById(R.id.tv_comment_count);
TextView paramsTextView =findViewById(R.id.tv_params);
String news = getIntent().getStringExtra("news_title"); //通过getIntent().getStringExtra()得到news_title
paramsTextView.setText(news);
int count = getIntent().getIntExtra("comment_count",0); //通过getIntent().getStringExtra()得到comment_count; 表示信息无法显示时,就会显示 “0”
comment_count.setText(count+"");
}
}
方法二:
Budle bundle = null;
bundle.相关方法;
注:示例代码如下:
(1)MainActivity文件:
package com.example.app_2;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button =(Button)findViewById(R.id.button_1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent =new Intent();
Bundle bundle = new Bundle(); //建立一个Bundle数据集,它包含了以下(1)和(2)两个数据集。
bundle.putString("new_title","安卓开发");//(1)
bundle.putInt("comment_count",1235); //(2)
intent.putExtra("mybundle",bundle);
/*通过intent的putExtra方法得到bundle,
并且为它命名为mybundle,再传递给MainActivity2*/
startActivity(intent);
}
});
}
}
(1)MainActivity2文件:
package com.example.app_2;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity2 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
TextView paramsTextView =findViewById(R.id.tv_params);
TextView comment_count = findViewById(R.id.tv_comment_count);
Bundle bundle = getIntent().getBundleExtra("mybundle"); //通过getIntent().getBundleExtra()得到mybundle
String news = bundle.getString("new_title"); //赋值给news
int count = bundle.getInt("comment_count"); //赋值给count
paramsTextView.setText(news); //将数据传到TextView中,以此显示出来
comment_count.setText(count+""); //将数据传到TextView中,以此显示出来
}
}
(3)activity_main2.xml文件:
<TextView
android:text="传送数据是:"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
<TextView
android:id="@+id/tv_params"
android:text="传送数据是:"
android:layout_width="wrap_content"`在这里插入代码片`
android:layout_height="wrap_content">
</TextView>
<TextView
android:id="@+id/tv_comment_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>