Carlos Tirado
Carlos Tirado

Reputation: 397

LinearLayout not displaying Items

What i'm trying to do is add create an application that locates some local business. So the activity I'm doing displays the business information. Some business have severals stores located on the city, and some others only have one. So here is my problem: In the View I have Scroll View with all the elements, and a linear layout inside the scrollview. If the business has more then one store, i will add each store information in a new text view and add the text view to the layout (this is done all by code). But at the moment to display the layout, it only displays me one store, instead of showing me 3 or 4. What I'm I doing wrong? Here is the method setupViews(), which is the one in chanrge of the displaying:

private void setupViews() throws SQLException {
        ImageView iv = (ImageView) findViewById(R.id.negocio_logo);
        try {
            iv.setImageBitmap(BitmapFactory.decodeByteArray(toShow.getImgSrc(),
                    0, toShow.getImgSrc().length));
        } catch (NullPointerException npe) {
            iv.setBackgroundColor(Color.WHITE);
        }
        TextView nombreEmpresa = (TextView) findViewById(R.id.nombre_empresa);
        nombreEmpresa.setText(toShow.getNombre());
        TextView descripcionEmpresa = (TextView) findViewById(R.id.descripcion_empresa);
        descripcionEmpresa.setText(toShow.getDescripcion());
        TextView direccionEmpresa = (TextView) findViewById(R.id.direccion_empresa);
        direccionEmpresa.setText(toShow.getDireccion());

        LinearLayout rl = (LinearLayout) findViewById(R.id.linear_layout_si);
        TextView suc = (TextView) findViewById(R.id.sucursales_empresa);
        sucursalDAO sDAO = new sucursalDAO();
        boolean tieneSucursales = sDAO.hasSucursales(toShow.getId());
        if (tieneSucursales == false) {
            suc.setVisibility(View.GONE);
            // sucs.setVisibility(View.GONE);

        } else {
            suc.setVisibility(View.VISIBLE);

            ArrayList<String> sucursales = sDAO.getStringSucursales(toShow
                    .getId());
            ArrayList<TextView> tvs = new ArrayList<TextView>();
            for (int i = 0; i < sucursales.size(); i++) {
                TextView tv = new TextView(this);
                tv.setText(sucursales.get(i));
                tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
                        LayoutParams.WRAP_CONTENT));
                tvs.add(tv);
            }
            for (int i = 0; i < tvs.size(); i++) {
                rl.addView(tvs.get(i), i);


            }

        }

    }

And here is the XML of my view:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RL"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/White"
    android:orientation="vertical" >

    <ScrollView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/widgetscroll"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <RelativeLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/White"
            android:orientation="vertical" >

            <ImageView
                android:id="@+id/negocio_logo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:contentDescription="@string/logo_negocio" />

            <TextView
                android:id="@+id/datos_empresa"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/negocio_logo"
                android:background="@drawable/barra"
                android:text="@string/datos_empresa"
                android:textColor="@color/White" />

            <TextView
                android:id="@+id/nombre_empresa"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/datos_empresa"
                android:text="@string/testing" />

            <TextView
                android:id="@+id/descripcion_empresa"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/nombre_empresa"
                android:text="@string/testing" />

            <TextView
                android:id="@+id/direccion_empresa"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/descripcion_empresa"
                android:text="@string/testing" />

            <TextView
                android:id="@+id/sucursales_empresa"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/direccion_empresa"
                android:background="@drawable/barra"
                android:text="@string/sucursales"
                android:visibility="gone" />

            <LinearLayout
                android:id="@+id/linear_layout_si"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/sucursales_empresa" >
            </LinearLayout>

            <TextView
                android:id="@+id/contacto_empresa"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/linear_layout_si"
                android:text="@string/testing" />

        </RelativeLayout>
    </ScrollView>

</RelativeLayout>

Upvotes: 0

Views: 693

Answers (2)

Litus
Litus

Reputation: 632

I think you forgot to set orientation on LinearLayout and it's showing horitzontal

Upvotes: 3

P Varga
P Varga

Reputation: 20229

I bet you forgot to set the orientation of the LinearLayout.

Upvotes: 1

Related Questions