我的滾動視圖中有三個段落,在三個按鈕之一上發(fā)生 onclick 事件后,每個段落都需要變得可見。我目前已將它們設(shè)置為全部不可見。由于我無法讓它發(fā)揮作用,我只是在其中一個段落中進(jìn)行嘗試。因此,我僅為第一段創(chuàng)建了一個私有文本視圖常量。但是在我傳遞切換活動的意圖后,我還嘗試將該包上的視圖變?yōu)榭梢?。我已?jīng)包含了我的 MainActivity.java 和我用來設(shè)置不可見的 xml 文件。package com.example.threebuttons;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.TextView;public class MainActivity extends AppCompatActivity { private TextView passage1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); passage1 = findViewById(R.id.passage_1); } public void launchPassageOne(View view) { passage1.setVisibility(view.VISIBLE); Intent intent = new Intent(this, PassageActivity.class); startActivity(intent) ; } public void launchPassageTwo(View view) { Intent intent = new Intent(this, PassageActivity.class); startActivity(intent) ; } public void launchPassageThree(View view) { Intent intent = new Intent(this, PassageActivity.class); startActivity(intent) ; }}<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".PassageActivity"> </LinearLayout> </ScrollView></androidx.constraintlayout.widget.ConstraintLayout>我的程序崩潰了。而且我找不到任何錯誤消息。每當(dāng)我想要更改活動時,如何使包可見?我希望三個段落對于各自的按鈕可見,然后在按下后退按鈕時變?yōu)椴豢梢姟?
3 回答

守著一只汪
TA貢獻(xiàn)1872條經(jīng)驗 獲得超4個贊
這三個視圖似乎都在已啟動的活動中。因此您無法更改它們的可見性,因為它們尚未創(chuàng)建。
在開始活動之前添加此內(nèi)容 intent.putExtra("passageNum", 1)
然后調(diào)用startActivity(intent)
在 PassageAactivity onCreate 中執(zhí)行以下操作:
If (getIntent().hasExtra("passageNum") && getIntent().getExtras().getInt("passageNum") == 1) passage1.setVisibility(View.VISIBLE)
其他觀點依此類推

炎炎設(shè)計
TA貢獻(xiàn)1808條經(jīng)驗 獲得超4個贊
使用View.VISIBLE
大寫的 V,它是 View 類中的整數(shù)常量。從方法中刪除 View 參數(shù)launchPassageOne
:
public void launchPassageOne() { passage1.setVisibility(View.VISIBLE); Intent intent = new Intent(this, PassageActivity.class); startActivity(intent) ; }
添加回答
舉報
0/150
提交
取消