我的滾動(dòng)視圖中有三個(gè)段落,在三個(gè)按鈕之一上發(fā)生 onclick 事件后,每個(gè)段落都需要變得可見。我目前已將它們?cè)O(shè)置為全部不可見。由于我無(wú)法讓它發(fā)揮作用,我只是在其中一個(gè)段落中進(jìn)行嘗試。因此,我僅為第一段創(chuàng)建了一個(gè)私有文本視圖常量。但是在我傳遞切換活動(dòng)的意圖后,我還嘗試將該包上的視圖變?yōu)榭梢?。我已?jīng)包含了我的 MainActivity.java 和我用來(lái)設(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>我的程序崩潰了。而且我找不到任何錯(cuò)誤消息。每當(dāng)我想要更改活動(dòng)時(shí),如何使包可見?我希望三個(gè)段落對(duì)于各自的按鈕可見,然后在按下后退按鈕時(shí)變?yōu)椴豢梢姟?
3 回答
守著一只汪
TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊
這三個(gè)視圖似乎都在已啟動(dòng)的活動(dòng)中。因此您無(wú)法更改它們的可見性,因?yàn)樗鼈兩形磩?chuàng)建。
在開始活動(dò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)其他觀點(diǎn)依此類推
炎炎設(shè)計(jì)
TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊
使用View.VISIBLE大寫的 V,它是 View 類中的整數(shù)常量。從方法中刪除 View 參數(shù)launchPassageOne:
public void launchPassageOne() {
passage1.setVisibility(View.VISIBLE);
Intent intent = new Intent(this, PassageActivity.class);
startActivity(intent) ;
}添加回答
舉報(bào)
0/150
提交
取消
