用户点击某个政策列表项后,显示该政策的详细信息

package com.example.try4;

import android.os.Bundle;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;

public class PolicyDetailActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.policy_detail);

    TextView textViewFullText = findViewById(R.id.text_view_full_text);
    Policy policy = getIntent().getParcelableExtra("policy");

    if (policy != null) {
        StringBuilder fullText = new StringBuilder();
        fullText.append("ID: ").append(policy.getId()).append("\n")
                .append("Name: ").append(policy.getName()).append("\n")
                .append("Type: ").append(policy.getType()).append("\n")
                .append("Category: ").append(policy.getCategory()).append("\n")
                .append("Range: ").append(policy.getRange()).append("\n")
                .append("Document: ").append(policy.getDocument()).append("\n")
                .append("Form: ").append(policy.getForm()).append("\n")
                .append("Organ: ").append(policy.getOrgan()).append("\n");
        textViewFullText.setText(fullText.toString());
    }
}

}

该部分activity代码用于用户点击某个政策列表项后,显示该政策的详细信息
这些导入语句引入了代码中所需的类和接口。例如:

Bundle 用于在Activity之间传递数据。

AppCompatActivity 是Android支持库中的一个类,用于提供向后兼容的Activity实现。

TextView 是用于显示文本的UI组件。

  1. 类定义
    java
    复制
    public class PolicyDetailActivity extends AppCompatActivity {
    PolicyDetailActivity 继承自 AppCompatActivity,表示这是一个Android Activity类,用于管理用户界面和交互。

  2. onCreate 方法
    java
    复制
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.policy_detail);
    onCreate 是Activity生命周期中的一个方法,当Activity被创建时调用。在这个方法中:

super.onCreate(savedInstanceState) 调用父类的onCreate方法,确保Activity的正确初始化。

setContentView(R.layout.policy_detail) 设置Activity的布局文件为policy_detail.xml,该文件定义了Activity的UI结构。

  1. 获取UI组件
    java
    复制
    TextView textViewFullText = findViewById(R.id.text_view_full_text);
    通过findViewById方法,从布局文件中获取TextView组件,并将其赋值给textViewFullText变量。这个TextView将用于显示政策的详细信息。

  2. 获取传递的数据
    java
    复制
    Policy policy = getIntent().getParcelableExtra("policy");
    通过getIntent()方法获取启动该Activity的Intent对象,然后使用getParcelableExtra("policy")方法从Intent中获取传递过来的Policy对象。Policy类需要实现Parcelable接口,以便能够在Activity之间传递。

  3. 显示政策信息
    java
    复制
    if (policy != null) {
    StringBuilder fullText = new StringBuilder();
    fullText.append("ID: ").append(policy.getId()).append("\n")
    .append("Name: ").append(policy.getName()).append("\n")
    .append("Type: ").append(policy.getType()).append("\n")
    .append("Category: ").append(policy.getCategory()).append("\n")
    .append("Range: ").append(policy.getRange()).append("\n")
    .append("Document: ").append(policy.getDocument()).append("\n")
    .append("Form: ").append(policy.getForm()).append("\n")
    .append("Organ: ").append(policy.getOrgan()).append("\n");
    textViewFullText.setText(fullText.toString());
    }
    如果policy对象不为空,代码将创建一个StringBuilder对象fullText,并将政策的各个属性(如ID、名称、类型等)追加到fullText中。最后,将fullText的内容设置为textViewFullText的文本,从而在UI上显示政策的详细信息。

总结
这段代码的主要功能是:

设置Activity的布局。

从启动该Activity的Intent中获取传递的Policy对象。

将Policy对象的详细信息显示在TextView中。

这个Activity通常用于在用户点击某个政策列表项后,显示该政策的详细信息。

posted @ 2025-03-24 08:35  鱼一直摸  阅读(9)  评论(0)    收藏  举报