Как сделать переход к определенному файлу xml разметки через viewpager который расположен на одном и том же activity?
Cтолкнулся с такой проблемой по незнанию или потому что на придумал не сбыточных идей в своей голове (надеюсь она все такие реализуемая). Есть длинный код всего одной активити в которую я запихнул миллион файлов xml разметки сделав из этого всего подобие учебника по геометрии. И хотелось бы сделать так чтобы со страницы содержания можно было переходить к интересующей пользователя теме Вот код программы и скрины:
MainActivity:
package com.example.diplom0_1;
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager2.adapter.FragmentStateAdapter;
import androidx.viewpager2.widget.ViewPager2;
import androidx.constraintlayout.widget.ConstraintLayout;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.os.Bundle;
import android.widget.ListView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ViewPager2 pager = findViewById(R.id.pager);
FragmentStateAdapter pageAdapter = new MyAdapter(this);
pager.setAdapter(pageAdapter);
}
}
MyAdapter:
package com.example.diplom0_1;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.viewpager2.adapter.FragmentStateAdapter;
public class MyAdapter extends FragmentStateAdapter {
public MyAdapter(FragmentActivity fragmentActivity) {
super(fragmentActivity);
}
@NonNull
@Override
public Fragment createFragment(int position) {
return(PageFragment.newInstance(position));
}
@Override
public int getItemCount() {
return 40;
}
}
PageFragment (основная куча в которую свалены все файлы xml):
package com.example.diplom0_1;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.ScrollView;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
import androidx.viewpager2.widget.ViewPager2;
import java.util.HashMap;
import java.util.Map;
public class PageFragment extends Fragment {
private int pageNumber;
private Button btn1, btn2, btn3, btn4, btn5, btn6;
private Button btnS1, btnS2, btnS3, btnS4;
public static PageFragment newInstance(int page) {
PageFragment fragment = new PageFragment();
Bundle args=new Bundle();
args.putInt("num", page);
fragment.setArguments(args);
return fragment;
}
public PageFragment() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
pageNumber = getArguments() != null ? getArguments().getInt("num") : 1;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View result27=inflater.inflate(R.layout.fragment_page26, container, false);
View result26=inflater.inflate(R.layout.fragment_page25, container, false);
View result25=inflater.inflate(R.layout.fragment_page24, container, false);
View result24=inflater.inflate(R.layout.fragment_page23, container, false);
View result23=inflater.inflate(R.layout.fragment_page22, container, false);
View result22=inflater.inflate(R.layout.fragment_page21, container, false);
View result21=inflater.inflate(R.layout.fragment_page20, container, false);
View result20=inflater.inflate(R.layout.fragment_page19, container, false);
View result19=inflater.inflate(R.layout.fragment_page18, container, false);
View result18=inflater.inflate(R.layout.fragment_page17, container, false);
View result17=inflater.inflate(R.layout.fragment_page16, container, false);
View result16=inflater.inflate(R.layout.fragment_page15, container, false);
View result15=inflater.inflate(R.layout.fragment_page14, container, false);
View result14=inflater.inflate(R.layout.fragment_page13, container, false);
View result13=inflater.inflate(R.layout.fragment_page12, container, false);
View result12=inflater.inflate(R.layout.fragment_page11, container, false);
View result11=inflater.inflate(R.layout.fragment_page10, container, false);
View result10=inflater.inflate(R.layout.fragment_page9, container, false);
View result9=inflater.inflate(R.layout.fragment_page8, container, false);
View result8=inflater.inflate(R.layout.fragment_page7, container, false);
View result7=inflater.inflate(R.layout.fragment_page6, container, false);
View result6=inflater.inflate(R.layout.fragment_page5, container, false);
View result5=inflater.inflate(R.layout.fragment_page4, container, false);
View result4=inflater.inflate(R.layout.fragment_page3, container, false);
View result3=inflater.inflate(R.layout.fragment_page2, container, false);
View result2=inflater.inflate(R.layout.fragment_page1, container, false);
View result1=inflater.inflate(R.layout.fragment_page, container, false);
View result=inflater.inflate(R.layout.fragment_page, container, false);
if (pageNumber == 0) {
ImageView pageHeader = result1.findViewById(R.id.displayImage);
return result1;
}
else if (pageNumber == 1){
ScrollView pageHeader = result2.findViewById(R.id.Soderjanie);
Button btnS1 = result2.findViewById(R.id.btnS1);
btnS1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
return result2;
}
else if (pageNumber == 2){
ImageView pageHeader = result3.findViewById(R.id.displayImage2);
return result3;
}
else if (pageNumber == 3){
ImageView pageHeader = result4.findViewById(R.id.displayImage3);
return result4;
}
else if (pageNumber == 4){
ImageView pageHeader = result5.findViewById(R.id.displayImage4);
return result5;
}
else if (pageNumber == 5){
ImageView pageHeader = result6.findViewById(R.id.displayImage5);
return result6;
}
else if (pageNumber == 6){
ImageView pageHeader = result7.findViewById(R.id.displayImage6);
return result7;
}
else if (pageNumber == 7){
ImageView pageHeader = result8.findViewById(R.id.displayImage7);
return result8;
}
else if (pageNumber == 8){
ImageView pageHeader = result9.findViewById(R.id.displayImage8);
return result9;
}
else if (pageNumber == 9){
ImageView pageHeader = result10.findViewById(R.id.displayImage9);
return result10;
}
else if (pageNumber == 10){
ImageView pageHeader = result11.findViewById(R.id.displayImage10);
return result11;
}
else if (pageNumber == 11){
ImageView pageHeader = result12.findViewById(R.id.displayImage11);
return result12;
}
else if (pageNumber == 12){
ImageView pageHeader = result13.findViewById(R.id.displayImage12);
return result13;
}
else if (pageNumber == 13){
ImageView pageHeader = result14.findViewById(R.id.displayImage13);
return result14;
}
else if (pageNumber == 14){
ImageView pageHeader = result15.findViewById(R.id.displayImage14);
return result15;
}
else if (pageNumber == 15){
ImageView pageHeader = result16.findViewById(R.id.displayImage15);
return result16;
}
else if (pageNumber == 16){
ImageView pageHeader = result17.findViewById(R.id.displayImage16);
return result17;
}
else if (pageNumber == 17){
ImageView pageHeader = result18.findViewById(R.id.displayImage17);
return result18;
}
else if (pageNumber == 18){
ImageView pageHeader = result19.findViewById(R.id.displayImage18);
return result19;
}
else if (pageNumber == 19){
ImageView pageHeader = result20.findViewById(R.id.displayImage19);
return result20;
}
else if (pageNumber == 20){
ImageView pageHeader = result21.findViewById(R.id.displayImage20);
return result21;
}
else if (pageNumber == 21){
ImageView pageHeader = result22.findViewById(R.id.displayImage21);
return result22;
}
else if (pageNumber == 22){
ImageView pageHeader = result23.findViewById(R.id.displayImage22);
return result23;
}
else if (pageNumber == 23){
ImageView pageHeader = result24.findViewById(R.id.displayImage23);
return result24;
}
else if (pageNumber == 24){
ImageView pageHeader = result25.findViewById(R.id.displayImage24);
return result25;
}
else if (pageNumber == 25){
ImageView pageHeader = result26.findViewById(R.id.displayImage25);
return result26;
}
else if (pageNumber == 26){
ScrollView pageHeader = result27.findViewById(R.id.scroll);
Button btn1 = result27.findViewById(R.id.btn1);
ImageView img1 = result27.findViewById(R.id.image_otv1);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setVisibility(View.GONE);
img1.setVisibility(View.VISIBLE);
}
});
Button btn2 = result27.findViewById(R.id.btn2);
ImageView img2 = result27.findViewById(R.id.image_otv2);
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setVisibility(View.GONE);
img2.setVisibility(View.VISIBLE);
}
});
Button btn3 = result27.findViewById(R.id.btn3);
ImageView img3 = result27.findViewById(R.id.image_otv3);
btn3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setVisibility(View.GONE);
img3.setVisibility(View.VISIBLE);
}
});
Button btn4 = result27.findViewById(R.id.btn4);
ImageView img4 = result27.findViewById(R.id.image_otv4);
btn4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setVisibility(View.GONE);
img4.setVisibility(View.VISIBLE);
}
});
Button btn5 = result27.findViewById(R.id.btn5);
ImageView img5 = result27.findViewById(R.id.image_otv5);
btn5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setVisibility(View.GONE);
img5.setVisibility(View.VISIBLE);
}
});
Button btn6 = result27.findViewById(R.id.btn6);
ImageView img6 = result27.findViewById(R.id.image_otv6);
btn6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setVisibility(View.GONE);
img6.setVisibility(View.VISIBLE);
}
});
return result27;
}
else{
return result;
}
}
}
И сам файл 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"
android:background="@color/white">
<ScrollView
android:id="@+id/Soderjanie"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<LinearLayout
android:id="@+id/ListView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="58dp"
android:textAlignment="center"
android:textSize="40dp"
android:text="Содержание"
android:textColor="@color/black"/>
<Button
android:id="@+id/btnS1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button"
android:textColor="@color/black"
android:backgroundTint="@android:color/white"
app:strokeColor="#FFFFFF" />
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button7"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button8"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button9"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button10"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button11"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button12"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button13"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button14"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button15"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button16"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button17"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button18"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
</ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
Заранее спасибо за потраченное время, и приношу свои искренние извинения за свою глупость.