/*这是一个关于如何使用框架从数据库中填充表格布局并使用捆绑包接收参数的完整示例。我希望这个代码可以帮助你 */
package co.m3medios.nagaapp.Fragments;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.graphics.Color;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import co.m3medios.nagaapp.R;
import co.m3medios.nagaapp.SQLite.ConexionSQLiteHelper;
import co.m3medios.nagaapp.Utils.Utilidades;
public class ListasPreciosFragment extends Fragment {
public TableLayout listaPreciosGeneral;
public String[] titulo= {"Referencia", "Colección","Silueta", "Clas Producto", "Composición", "M", "Vende", "Color", "Tallas", "Agotados", "Observaciones", "Entrega", "Tiquete"};
private OnFragmentInteractionListener mListener;
public ListasPreciosFragment() {
// Required empty public constructor
}
// TODO: Rename and change types and number of parameters
public static ListasPreciosFragment newInstance(String param1, String param2) {
ListasPreciosFragment fragment = new ListasPreciosFragment();
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_listas_precios, container, false);
listaPreciosGeneral = (TableLayout) view.findViewById(R.id.tabla_listaPreciosGral);
llenarTablaGeneral();
返回视图;}
private void llenarTablaGeneral() {
TableRow tbrow0 = new TableRow(getContext());
tbrow0.setBackgroundColor(Color.parseColor("#2d2d5a"));
tbrow0.setLayoutParams(new TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT,TableLayout.LayoutParams.WRAP_CONTENT));
//LLENAR EL HEADER DE LA TABLA
for(String c:titulo){
TextView tv0 = new TextView(getContext());
tv0.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT,
TableRow.LayoutParams.WRAP_CONTENT));
tv0.setGravity(Gravity.CENTER);
tv0.setTextSize(18);
tv0.setTextColor(Color.parseColor("#ffffff"));
tv0.setPadding(5, 5, 5, 5);
tv0.setText(c);
tbrow0.addView(tv0);
}
//INSERTAR TITULOS
listaPreciosGeneral.addView(tbrow0);
//ABRIR LA CONEXION A LA BASE DE DATOS PARA ESCRITURA
ConexionSQLiteHelper conn = new ConexionSQLiteHelper(getContext(), "nagamobile", null, 1);
SQLiteDatabase db = conn.getWritableDatabase();//abro la BD para escritura
db.beginTransaction();
int color = 0;
try
{
String selectQuery = "SELECT * FROM "+ Utilidades.TABLA_LISTAPRECIOS;
Cursor cursor = db.rawQuery(selectQuery,null);
if(cursor.getCount() >0)
{
while (cursor.moveToNext()) {
// LEER LOS DATOS DE LAS COLUMNAS POR FILA
int id_lista_p = cursor.getInt(cursor.getColumnIndex("id"));
String referencia = cursor.getString(cursor.getColumnIndex("referencia"));
String coleccion = cursor.getString(cursor.getColumnIndex("coleccion"));
String silueta = cursor.getString(cursor.getColumnIndex("silueta"));
String clasProducto = cursor.getString(cursor.getColumnIndex("clasProducto"));
String composicion = cursor.getString(cursor.getColumnIndex("composicion"));
String m = cursor.getString(cursor.getColumnIndex("m"));
String vende = cursor.getString(cursor.getColumnIndex("vende"));
String colorListaP = cursor.getString(cursor.getColumnIndex("colorListaP"));
String tallas = cursor.getString(cursor.getColumnIndex("tallas"));
String agotada = cursor.getString(cursor.getColumnIndex("agotada"));
String observaciones = cursor.getString(cursor.getColumnIndex("observaciones"));
String entrega = cursor.getString(cursor.getColumnIndex("entrega"));
String tiquete = cursor.getString(cursor.getColumnIndex("tiquete"));
tiquete = "$ "+tiquete;
// CREAR LAS FILAS DE DATOS POR CADA ITERACION
TableRow row = new TableRow(getContext());
row.setLayoutParams(new TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT,TableLayout.LayoutParams.WRAP_CONTENT));
//CAMBIAR EL COLOR DE LAS FILAS
if ( color % 2 == 0) {
row.setBackgroundColor(Color.parseColor("#FFFFFF"));//LINEA BLANCA
}
else {
row.setBackgroundColor(Color.parseColor("#abb1b3"));//LINEA GRIS
}
//RENDERIZAR LINEA A LINEA
String[] lpRender={referencia,coleccion,silueta,clasProducto,composicion,m,vende,colorListaP,
tallas,agotada,observaciones,entrega,tiquete};
for(String text:lpRender) {
TextView tv = new TextView(getContext());//CADA BUCLE INSTANCIA UN NUEVO OBJETO PARA CREAR LA FILA
tv.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT,TableRow.LayoutParams.WRAP_CONTENT));
tv.setGravity(Gravity.CENTER);
tv.setTextColor(Color.parseColor("#2d2d5a"));
tv.setTextSize(14);
tv.setPadding(5, 5, 5, 5);
tv.setText(text);
row.addView(tv);
}
listaPreciosGeneral.addView(row);
color ++;//AUMENTA POR CADA ITERACION PARA CAMBIAR EL COLOR DE LA LINEA
}
}
db.setTransactionSuccessful();
}
catch (SQLiteException e)
{
e.printStackTrace();
}
finally
{
db.endTransaction();
db.close();
}
}
public interface OnFragmentInteractionListener {
void onFragmentInteraction(Uri uri);
}
}