实现页面转跳
android 页面之间的转跳,可以通过构建一个Intent对象来实现转跳。
/**
* sendMessage 事件
* 无返回值
* view 被点击的视图 实例
* 类似event 的概念?
*
* @param view 参数唯一(为View类型,代表被点击的视图)
*/
public void sendMessage(View view) {
/**
* Intent 意图,运行另外一个活动
* 自身上下文,和一个activity类
*/
Intent intent = new Intent(this, DisplayMessageActivity.class);
/**
* 获取组件实例
*/
EditText edit_text = (EditText) findViewById(R.id.edit_message);
// 获取 组件实例文本用字符串输出
String message = edit_text.getText().toString();
// 键值对 key val 形式
intent.putExtra(EXTRA_MESSAGE, message);
// 启动活动
startActivity(intent);
}
上面的代码声明了一个事件,你可以在组件上添加这个转跳事件来实现转跳到另外一个activity类
public class DisplayMessageActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
Intent intent = getIntent();
String message = intent.getStringExtra("com.example.lyl.MESSAGE");
// 使用函数生成挂载 xml 组件
// 创建文本组件
TextView text = new TextView(this);
// 使用创建的实例设置组件属性
// 文字大小
text.setTextSize(40);
// 设置文本
text.setText(message);
// 挂载组件 找到对应xml 布局主节点
ConstraintLayout layout = (ConstraintLayout) findViewById(R.id.content);
// 执行挂载
layout.addView(text);
}
}
转跳到的activity类,可以通过 intent类中的方法获取其他组件传递过来的信息。
2.回跳
转跳到新的页面后,我们可以在
AndroidManifest.xml配置文件中声明这个页面的父页面,就会出现回调icon 按钮,点击即可回跳到父页面
<!--设置父activity-->
<!--android:parentActivityName=".MainActivity"-->
<activity android:name=".DisplayMessageActivity"
android:parentActivityName=".MainActivity"
/>