Cómo crear una paginación para el diseño de tabla dinámicamente creado con el conjunto visible?

Estoy consiguiendo datos del servidor y crear el tablelayout dinámicamente para esa respuesta, ahora necesito mostrar solamente 5 filas por la página, estoy usando setvisible(view.invisible) para ocultar todas las filas de la tabla, Cómo fijar las 5 filas setvisible(view.visible) para mostrar las filas como paginación?

El código que usé para crear la tabla dinámicamente está abajo.

 TableLayout tableLayout = (TableLayout) findViewById(R.id.tablenew); TableRow tableRow = new TableRow(this); tableRow.setId(1); tableRow.setBackgroundColor(Color.LTGRAY); tableRow.setPadding(0,0,1,1); tableRow.setLayoutParams(new TableLayout.LayoutParams()); tableRow.setVisibility(View.INVISIBLE); TextView text = new TextView(this); text.setText(name); text.setBackgroundColor(Color.WHITE); text.setPadding(5, 5, 5, 5); text.setTextSize(30); text.setLayoutParams(new TableRow.LayoutParams()); final Button button = new Button(this); button.setPadding(5, 5, 5, 5); button.setTextSize(30); button.setTag(value); button.setText("Install"); button.setLayoutParams(new TableRow.LayoutParams()); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { TableLayout tableLayout = (TableLayout) findViewById(R.id.tablenew); final TableRow parent = (TableRow) v.getParent(); tableLayout.removeView(parent); String id=(String) v.getTag(); } });//button click listener tableRow.addView(text); tableRow.addView(button); tableLayout.addView(tableRow); 

5 Solutions collect form web for “Cómo crear una paginación para el diseño de tabla dinámicamente creado con el conjunto visible?”

Prueba esto , se han explicado con código de ejemplo.

Prueba este código:

Tableraw.xml

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <TableLayout android:id="@+id/tablenew" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_above="@+id/next" android:layout_alignParentTop="true" > </TableLayout> <Button android:id="@+id/next" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:text="next" /> </RelativeLayout> 

TableViewDemo.java

 package com.test; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TableLayout; import android.widget.TableRow; import android.widget.TextView; public class TableViewDemo extends Activity { int index = 5; Button nextButton; TableLayout tableLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.tableraw); tableLayout = (TableLayout) findViewById(R.id.tablenew); nextButton = (Button) findViewById(R.id.next); for (int i = 1; i <= 20; i++) { TableRow tableRow = new TableRow(this); tableRow.setTag(i); tableRow.setBackgroundColor(Color.LTGRAY); tableRow.setPadding(0, 0, 1, 1); tableRow.setLayoutParams(new TableLayout.LayoutParams()); TextView text = new TextView(this); text.setText("name" + i); text.setBackgroundColor(Color.WHITE); text.setPadding(5, 5, 5, 5); text.setTextSize(30); text.setLayoutParams(new TableRow.LayoutParams()); final Button button = new Button(this); button.setPadding(5, 5, 5, 5); button.setTextSize(30); button.setTag("value"); button.setText("Install" + i); button.setLayoutParams(new TableRow.LayoutParams()); tableRow.addView(text); tableRow.addView(button); if (i < 6) { tableRow.setVisibility(View.VISIBLE); } else { tableRow.setVisibility(View.GONE); } tableLayout.addView(tableRow); } nextButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { for (int i = 0; i < 20; i++) { TableRow parent = (TableRow) tableLayout.getChildAt(i); // tableLayout.removeView(parent); Integer id = ((Integer) parent.getTag()); if (id > index && id <= (index + 5)) { parent.setVisibility(View.VISIBLE); } else { parent.setVisibility(View.GONE); } } index = index + 5; } }); } } 
  prev.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { TableLayout tl = (TableLayout) findViewById(R.id.tablenew); for (int i = 10; i < tl.getChildCount(); i--) { if(i>0) { TableRow row = (TableRow) tl.getChildAt(i); Integer id = ((Integer) row.getTag()); if (id < 11 && id <= (10 - 5)) //index - 5)) { { Log.d("iiiiiiiiiiiiiiiii",Integer.toString(i)); row.setVisibility(View.VISIBLE); } else { Log.d("aaaaaaaaaaaaaaaaaaa",Integer.toString(i)); row.setVisibility(View.GONE); } } } //index = index - 5; } }); 
 prev.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { TableLayout tl = (TableLayout) findViewById(R.id.tablenew); for (int i = 6; i > 0; i--) { Log.d("aaaaaaaaaaaaaaaaaaa",Integer.toString(index)); TableRow row = (TableRow) tl.getChildAt(i); Integer id = ((Integer) row.getTag()); if (id < index && id <= (index - 3)) //index - 3)) { { Log.d("iiiiiiiiiiiiiiiii",Integer.toString(i)); row.setVisibility(View.VISIBLE); } else { Log.d("aaaaaaaaaaaaaaaaaaa",Integer.toString(i)); row.setVisibility(View.GONE); } } index = index - 3; } }); 
 public class Tabledemo extends Activity { int index = 5; int i,preval,preival; int nexval=1; Button prev,next; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_tabledemo); session = new SessionManager(getApplicationContext()); prev = (Button) findViewById(R.id.pre); next = (Button) findViewById(R.id.nex); prev.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { TableLayout tl = (TableLayout) findViewById(R.id.tablenew); for (i = preval ; i > preival; i--) { TableRow row = (TableRow) tl.getChildAt(i); Integer id = ((Integer) row.getTag()); if (id < index && id <= (index - 5)) { row.setVisibility(View.VISIBLE); nexval=i; } else { row.setVisibility(View.GONE); } } preival=preival-5; index = index - 5; } }); next.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { TableLayout tl = (TableLayout) findViewById(R.id.tablenew); for (i = nexval; i < tl.getChildCount() ; i++) { TableRow row = (TableRow) tl.getChildAt(i); Integer id = ((Integer) row.getTag()); if (id > index && id <= (index + 5)) { row.setVisibility(View.VISIBLE); preval=i; } else { row.setVisibility(View.GONE); } } preival=index; preival=preival-5; index = index + 5; } }); 
  • Obtención perezosa de objetos paginados usando RxJava
  • Manejar paginación con RxJava
  • Android cursorLoader con paginación o carga más funcionalidad?
  • Limitar los registros obtenidos en Android (base de datos Sqlite)
  • Paginación de texto en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.