一,什么是Intent?
Intent(意图)主要是解决Android应用的各项组件之间的通讯。
如果Activity1需要和Activity2进行联系,二者不需要直接联系,而是通过Intent作为桥梁。通俗来讲,Intnet类似于中介、桥梁的角色。
二、Intent的相关属性:
Intent由以下各个组成部分:
component(组件):目的组件
action(动作):用来表现意图的行动
category(类别):用来表现动作的类别
data(数据):表示与动作要操纵的数据
type(数据类型):对于data范例的描写
extras(扩展信息):扩展信息
Flags(标志位):期望这个意图的运行模式
三,利用Intent来进行界面的跳转
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="跳转"/>
public class MainActivity extends AppCompatActivity {
Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn=findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this,ChatActivity.class);
startActivity(intent);
}
});
}
}
利用Intent来进行传值
MainActivity:
Intent intent=new Intent(this,SecondActivity.class);
intent.putExtra("nv_name","灵儿");
Bundle bundle=new Bundle();
bundle.putString("nan_name","李逍遥");
intent.putExtra("bundle",bundle);
startActivity(intent);
SecondActivity:
Intent intent = getIntent();
textView1.setText(intent.getStringExtra("nv_name"));
Bundle bundleExtra = intent.getBundleExtra("bundle");
textView2.setText(bundleExtra.getString("nan_name"));