0

私はtextview(または同様の)ダイナミカルを作成する必要があります。初心者です。あなたの助けが必要です。これらは、Webサービスから受信したパラメーターです。

String jacuzzi=yes   
String estacionamiento = no   
String peli= yes   
String cable=yes  
String roomservice= no  


i need to create them when the (variable == "yes") 

私は答えを探していますが、私はそれを理解していません私は本当に
新しいレイアウトを作成する必要があるかどうかわかりません、
私はアンドロイドで本当に新しいです

ここに私のアンドロイドxmlを置きます

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent">

<LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center_vertical"
    android:orientation="vertical"
    android:background="#ccccfe"  >

 <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="match_parent"
        android:layout_height="45dp" >

      <ImageView
        android:id="@+id/imageView0"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:background="#ffd7bd"
       android:orientation="vertical"
       android:layout_marginLeft="-200dp "

        android:textStyle="bold"
   android:textColor="#000000" android:shadowColor="#8a6603"
   android:shadowDx="3" android:shadowDy="2" android:shadowRadius="1.8"
        android:src="@drawable/muestra2" />

    </TableRow>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="60dp"
        android:layout_marginTop="10dp"
        android:text="Motel: "
        android:textColor="#303f46"
        android:textSize="21sp"
        android:textStyle="bold" />


    <ImageView
        android:id="@+id/imagen"
        android:layout_width="fill_parent"
        android:layout_height="250dp"

        android:background="#ccccfe"
        android:scaleType="fitXY"
        android:padding="1dp"/>

<TableLayout 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >
    <TableRow >
        <TextView />
        <TextView />
    </TableRow>


    <TableRow >

    <TextView

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Dirección: "
        android:textColor="#303f46"
        android:textSize="15sp"
        android:textStyle="bold"
        android:width="90dp" />

    <TextView 
        android:id="@+id/textView2"
        android:text=""
        android:textSize="14sp"
        android:layout_width="wrap_content"
        android:textColor="#373737"/>              

 </TableRow>

  <TableRow >
    <TextView

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#303f46"
      android:textSize="15sp"
        android:textStyle="bold"
        android:width="90dp"
        android:text="Comuna: " />

     <TextView 
         android:id="@+id/textView3"
        android:text=""
        android:textSize="14sp"
        android:layout_width="wrap_content"
        android:textColor="#373737" />



    </TableRow>

  <TableRow >
    <TextView

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#303f46"
        android:textSize="15sp"
        android:textStyle="bold"
         android:width="90dp"
        android:text="Descripcion: " />

     <TextView 
         android:id="@+id/desc"
        android:text=""
        android:textSize="14sp"
        android:layout_width="wrap_content"
        android:textColor="#373737" />

    </TableRow>

  <TableRow >

     <TextView

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#303f46"
        android:textSize="15sp"
        android:textStyle="bold"
        android:text="Telefono: "
          android:width="90dp" />

      <TextView 
         android:id="@+id/telefono"
        android:text=""
        android:textSize="14sp"
        android:layout_width="wrap_content"
        android:textColor="#373737" />

     </TableRow>

   <TableRow >
      <TextView

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#303f46"
        android:textSize="15sp"
        android:textStyle="bold"
        android:text="Correo: " 
        android:width="90dp"/>

       <TextView 
         android:id="@+id/correo"
        android:text=""
        android:textSize="14sp"
        android:layout_width="wrap_content"
        android:textColor="#373737" />


     </TableRow> 
     <TableRow>
       <TextView

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#303f46"
        android:textSize="15sp"
        android:textStyle="bold"
        android:text="SitioWeb:" 
        android:width="90dp" />

        <TextView 
         android:id="@+id/sitio"
        android:text=""
        android:textSize="14sp"
        android:layout_width="wrap_content"
        android:textColor="#373737" />
        </TableRow>
</TableLayout>

</LinearLayout>
</ScrollView>
4

2 に答える 2

1

以下に示すように、それらを作成して、必要がない場合はその逆ではなく、ドロップするのが最善です。

まず、

boolean jacuzzi = true;
boolean estacionamiento = false;  
boolean peli = true; 
boolean cable = true;  
boolean roomservice = false;  

文字列ではなくブール値を使用します。ブール値はtrueまたはfalseのいずれかになります。はいまたはいいえを使用すると、作業が簡単になります。

//文字列を使用する必要がある場合

使用する

if (jacuzzi.contentEquals("yes")

以下のブール値の代わりに。

//

ジャグジーをお見せします。すべて同じテクニックを使用してください。

TextView tv = (TextView) findViewById(R.id.textView1);

私はそれをテレビと呼んでいますが、あなたはそれを何とでも呼ぶことができます。R.id.textView1の場合-これは、Androidが自動的にtextView1と呼んだXMLコード内のTextViewを参照していますが、IDを変更することでこれを変更できます。

if(jacuzzi == false)
{tv.setVisibility(View.GONE);}

これは、ジャグジーがfalseの場合、TextViewを非表示にします。使用することもできます

if(!jacuzzi)
{tv.setVisibility(View.GONE);}

彼らは同じことを意味するので。

そうでなければ、動的コーディングの場合、それははるかに困難です。私がテキストビューを行ったのと同じように、findViewByIdでlinearlayoutを参照する必要があります。次に、新しいテキストビューを作成する必要があります。あなたが本当にこれをする方法を学びたいと思うなら、それはもっと難しいですが、ただ尋ねてください。

于 2012-12-09T02:33:20.933 に答える
0

これは、XMLではなくコードを使用してレイアウトを動的に作成する方法です。

まず、xmlでLinearLayoutにIDを指定する必要があります。

<LinearLayout android:id="@+id/myLayout">

次に、コードで:

LinearLayout myLayout = (LinearLayout) findViewById(R.id.myLayout);

if (variable.contentEquals("yes")) {
    TextView jacuzzi = new TextView(this);
    jacuzzi.setText("jacuzzi");
    myLayout.addView(jacuzzi);
}

ただし、文字列を使用してyesに設定することは避けてください。代わりにブール値を使用してください。

于 2012-12-09T02:28:15.877 に答える