有没有一种方法可以通过按钮更改片段的布局?

时间:2020-03-31 17:30:06

标签: java android xml android-fragments button

我们是一群艺术系的学生,我们目前正在开发一个应用程序,以传播有关我们项目的信息。

在这种特殊情况下,我们想在 ConceptFragment.java 中插入一个按钮,以便从 fragment_concept.xml 切换到 fragment_frag .xml ,反之亦然。

这是我们尝试过的:

ConceptFragment.java


import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;

import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProviders;

import com.example.cuoredinapoli.R;

public class ConceptFragment extends Fragment {

   private ConceptViewModel conceptViewModel;

   public View onCreateView(@NonNull LayoutInflater inflater,
                            ViewGroup container, Bundle savedInstanceState) {
       conceptViewModel =
               ViewModelProviders.of(this).get(ConceptViewModel.class);
       View root = inflater.inflate(R.layout.fragment_concept, container, false);
       return root;

       Button button = findViewById(R.id.fragswitch);
       button.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {
               setContentView(R.layout.fragment_frag);
           }
       });

fragment_concept.xml

<?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">

    <ImageView
        android:id="@+id/titolo_citybrand"
        android:layout_width="299dp"
        android:layout_height="64dp"
        android:layout_marginTop="25dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:srcCompat="@drawable/citybrand" />

    <ScrollView
        android:id="@+id/concept"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginTop="100dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/titolo_citybrand">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <Button
                android:id="@+id/fragswitch"
                android:layout_width="194dp"
                android:layout_height="wrap_content"
                android:text="FRAMMENTI D'OPERA" />

            <TextView
                android:id="@+id/citybrand"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:fontFamily="@font/roboto"
                android:paddingLeft="35dp"
                android:paddingTop="20dp"
                android:paddingRight="35dp"
                android:paddingBottom="35dp"
                android:text="@string/citybrand_uno"
                android:textSize="18sp" />

            <ImageView
                android:id="@+id/foto_palazzo"
                android:layout_width="match_parent"
                android:layout_height="280dp"
                app:srcCompat="@drawable/palazzo" />

            <TextView
                android:id="@+id/citybrand2"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:fontFamily="@font/roboto"
                android:padding="35dp"
                android:paddingLeft="35dp"
                android:paddingRight="35dp"
                android:text="@string/citybrand_due"
                android:textSize="18sp" />

            <ImageView
                android:id="@+id/foto_insegna"
                android:layout_width="match_parent"
                android:layout_height="275dp"
                app:srcCompat="@drawable/insegna" />

            <TextView
                android:id="@+id/citybrand3"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:fontFamily="@font/roboto"
                android:padding="35dp"
                android:paddingLeft="35dp"
                android:paddingRight="35dp"
                android:paddingBottom="35dp"
                android:text="@string/citybrand_tre"
                android:textSize="18sp" />

            <ImageView
                android:id="@+id/foto_vetrofania"
                android:layout_width="match_parent"
                android:layout_height="408dp"
                app:srcCompat="@drawable/vetrofania" />

            <TextView
                android:id="@+id/citybrand4"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:fontFamily="@font/roboto"
                android:padding="35dp"
                android:paddingLeft="35dp"
                android:paddingRight="35dp"
                android:paddingBottom="35dp"
                android:text="@string/citybrand_quattro"
                android:textSize="18sp" />

            <ImageView
                android:id="@+id/foto_maglietta"
                android:layout_width="match_parent"
                android:layout_height="414dp"
                app:srcCompat="@drawable/foto3" />

            <TextView
                android:id="@+id/citybrand5"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:fontFamily="@font/roboto"
                android:padding="35dp"
                android:paddingLeft="35dp"
                android:paddingRight="35dp"
                android:paddingBottom="35dp"
                android:text="@string/citybrand_cinque"
                android:textSize="18sp" />

            <ImageView
                android:id="@+id/foto_shopper"
                android:layout_width="fill_parent"
                android:layout_height="275dp"
                android:layout_marginBottom="50dp"
                app:srcCompat="@drawable/foto2" />
        </LinearLayout>


    </ScrollView>


</androidx.constraintlayout.widget.ConstraintLayout>

fragment_frag.xml

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

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="CIAO">

    </TextView>

</LinearLayout>

我们实际上在 ConceptFragment.java 中遇到问题,即“无法解析方法findViewById(int)”和“无法解析方法setContentView(int)”

这是一种选择,但是由于我们不是专家,所以我们寻求帮助。 我们期待您的答复。

这是处于实际状态的应用-https://github.com/nuovetecnologiearte/app_cuoredinapoli

0 个答案:

没有答案