You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

点击TextView时在新Activity读取.txt文件的实现方案咨询

实现点击TextView跳转新Activity显示TXT内容

一、修改当前Activity(Dusterlist)的代码

在点击事件中读取完文件内容后,通过Intent将内容传递给SecondActivity,替换原来直接在当前页面显示的逻辑:

package com.example.coding

import android.content.Intent
import android.os.Bundle
import android.view.View
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import java.io.IOException

class Dusterlist : AppCompatActivity() {
    // 定义统一的内容传递标识
    private val EXTRA_FILE_CONTENT = "file_content"

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_dacialist)
        val txt7 = findViewById<TextView>(R.id.textView7)
        
        txt7.setOnClickListener {
            try {
                // 读取assets目录下的文件内容
                val inputStream = assets.open("mytextfile.txt")
                val size = inputStream.available()
                val buffer = ByteArray(size)
                inputStream.read(buffer)
                val fileContent = String(buffer)
                
                // 创建跳转Intent并传递内容
                val intent = Intent(this, SecondActivity::class.java)
                intent.putExtra(EXTRA_FILE_CONTENT, fileContent)
                startActivity(intent)

            } catch (e: IOException) {
                e.printStackTrace()
            }
        }
    }
}

二、创建并配置SecondActivity

1. 新建布局文件(activity_second.xml)

添加用于展示内容的TextView:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="16dp">

    <TextView
        android:id="@+id/tv_file_content"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="16sp"/>

</LinearLayout>

2. 编写SecondActivity代码

接收传递的内容并显示:

package com.example.coding

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

class SecondActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_second)
        
        val tvContent = findViewById<TextView>(R.id.tv_file_content)
        // 获取传递的文件内容,为空时显示默认提示
        val fileContent = intent.getStringExtra(Dusterlist.EXTRA_FILE_CONTENT)
        tvContent.text = fileContent ?: "文件内容读取失败"
    }
}

3. 在AndroidManifest.xml注册SecondActivity

确保Activity已被系统识别:

<activity
    android:name=".SecondActivity"
    android:exported="false"/>

内容的提问来源于stack exchange,提问作者Yaya38

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 20:32:53