如何在不同的tablelayouts android studio (java) 中添加viewpager

问题描述

我是移动开发的新手,我仍然很难适应环境,我试图使用 viewpager 在三个 TableLayouts 之间移动,但我无法工作。

代码布局.XML:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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=".MainActivity"
    android:orientation="vertical">



    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <HorizontalScrollView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:fillViewport="true">   <!-- esto permitira que el ocupe toda la pantalla el -->
            <TableLayout
                android:id="@+id/mi_tabla_layout"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"/>
        </HorizontalScrollView>
    </ScrollView>
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <HorizontalScrollView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:fillViewport="true">   <!-- esto permitira que el ocupe toda la pantalla el -->
            <TableLayout
                android:id="@+id/mi_tabla_layout1"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"/>
        </HorizontalScrollView>
    </ScrollView>
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <HorizontalScrollView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:fillViewport="true">   <!-- esto permitira que el ocupe toda la pantalla el -->
            <TableLayout
                android:id="@+id/mi_tabla_layout2"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"/>
        </HorizontalScrollView>
    </ScrollView>
        <ImageView android:id="@+id/pagerImage"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="centerInside"/>
</LinearLayout>

这将是 MAIN,根据教程,我设法创建了三个表 代码:MainActivity

 package com.example.tabla_test;
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.ViewPager;
import android.content.*;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Adapter;
import android.widget.TableLayout;
import android.widget.*;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
    TableLayout tabla,tabla1,tabla2;
    EditText nombre,apellido;
    String[] header={"Id","Nombre","Apellido"};
    String[] header1={"Id1","Nombre1","Apellido1"};
    String[] header2={"Id2","Nombre2","Apellido2"};
    ArrayList<String[]> filas=new ArrayList<>();
    ArrayList<String[]> filas1=new ArrayList<>();
    ArrayList<String[]> filas2=new ArrayList<>();
    TableDynamic tablaDinamica,tablaDinamica1,tablaDinamica2 ;
    ViewPager ViewPager;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        /*nombre=findViewById(R.id.txtName);
        apellido=findViewById(R.id.txtLastName);*/
        tabla=findViewById(R.id.mi_tabla_layout);
        tabla1=findViewById(R.id.mi_tabla_layout1);
        tabla2=findViewById(R.id.mi_tabla_layout2);   
        tablaDinamica=new TableDynamic(tabla,getApplicationContext());
        tablaDinamica1=new TableDynamic(tabla1,getApplicationContext());
        tablaDinamica2=new TableDynamic(tabla2,getApplicationContext());
        tablaDinamica.addHeader(header);
        tablaDinamica.addData(getClientes());
        tablaDinamica1.addHeader(header1);
        tablaDinamica1.addData(getClientes1());
        tablaDinamica2.addHeader(header2);
        tablaDinamica2.addData(getClientes2());
        tablaDinamica.backgroundHeader(Color.GRAY);
        tablaDinamica1.backgroundHeader(Color.GRAY);
        tablaDinamica2.backgroundHeader(Color.GRAY);
    }
    private ArrayList<String[]> getClientes(){
        filas.add(new String[]{"1","Pedro","Lopez"});
        filas.add(new String[]{"2","Juan","Villa"});
        filas.add(new String[]{"3","Aldo","Torres"});
        filas.add(new String[]{"4","Fiorella","Canto"});
        return filas;
      /*  Adapter = clientadapter(filas,this@MainActivity)
        ViewPager.Adapter = Adapter;*/
    }
    private ArrayList<String[]> getClientes1(){
        filas1.add(new String[]{"1","xd","Lopez"});
        filas1.add(new String[]{"2","xdd","Villa"});
        filas1.add(new String[]{"3","xddd","Torres"});
        filas1.add(new String[]{"4","xdddd","Canto"});
        return filas1;
    }

    private ArrayList<String[]> getClientes2(){
        filas2.add(new String[]{"1","V:","Lopez"});
        filas2.add(new String[]{"2","Villa"});
        filas2.add(new String[]{"3","Torres"});
        filas2.add(new String[]{"4","Canto"});
        return filas2;
    }
}

我已经使用了教程和文档,但我仍然没有实现我的目标,即能够使用 viewpager 在对话框中创建的三个表之间导航,使用尽可能多的本机代码而无需导入外部库

这将是我的最终目标

https://developer.android.com/training/animation/anim_screenslide.mp4?hl=es-419

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)