0

私のアプリケーションでは、3つのedittextビューと3つのtex tviewを表示する必要があります。いくつかの条件に基づいて(つまり、条件を満たしている場合は表示する必要がありますが、そうでない場合は表示しないでください)。このテキストビューはxmlファイルにあります。これを実現するにはどうすればよいですか。 ..前もって感謝します:

私のxmlファイル:

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

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Item" 
        android:layout_marginLeft="10dp"/>

    <EditText
        android:id="@+id/itemedit"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Price" 
        android:layout_marginLeft="10dp"/>

    <EditText
        android:id="@+id/priceedit"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:numeric="decimal"/>

    <LinearLayout                                   
          android:orientation="horizontal"          
         android:layout_width="fill_parent"
         android:layout_height="wrap_content">

           <TextView                             -------->TExtview1

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"       
        android:text="Type" 
        android:layout_marginLeft="10dp"/>        
             <TextView                              --------->TExtview2

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"       
        android:gravity="center_horizontal"  
        android:text="Recurrence" 
       />        

             <TextView                               --------->TExtview3
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="right"       
        android:text="Start Date" 
       />        

         </LinearLayout>

      <LinearLayout 
         android:orientation="horizontal" 
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         >

        <EditText                                     --------->edittext1
        android:id="@+id/recccatedit"
        android:layout_width="110dp"
        android:layout_height="wrap_content"  

        />

        <EditText                                       --------->edittext2
        android:id="@+id/reccedit"
        android:layout_width="80dp"
        android:layout_height="wrap_content" 

        android:numeric="decimal"
        />

    <EditText                                             --------->edittext1
        android:id="@+id/reccdateedit"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:layout_weight="1"   
        android:layout_gravity="right"
/>
    </LinearLayout>


            <LinearLayout 
         android:orientation="horizontal" 
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:layout_marginTop="10dp">

                <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Back" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Save" />

    <Button
        android:id="@+id/btndelete"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Delete" />


      </LinearLayout>

</LinearLayout>

私のJavaクラスファイル:

if(!reccinc.equals("0"))
            {
                System.out.println("Inside if");
            EditText rec=(EditText)findViewById(R.id.reccedit);
            EditText reccdate=(EditText)findViewById(R.id.reccdateedit);
            EditText recctype=(EditText)findViewById(R.id.recccatedit);

            String recc=null;
            String date=null;
            String type=null;
            db.open();               
            if(!intent.getStringExtra("Recc").equals("0"))
            {
                 Cursor c= db.getReccurenceCount(intent.getStringExtra("Recc"));    
                 startManagingCursor(c);
                 recc=c.getString(c.getColumnIndex("increment"));
                 date=c.getString(c.getColumnIndex("startdate"));
                 type=c.getString(c.getColumnIndex("recurrencetype"));
            }

            rec.setText(recc);
            recctype.setText(type);
            reccdate.setText(date);
            }
4

4 に答える 4

2

あなたは呼び出すことができます

view.setVisibility(View.GONE);

ビューをレイアウトから非表示にします。あなたは呼び出すことができます

view.setVisibility(View.VISIBLE);

再び戻すため(レイアウトから削除されていない場合)。

于 2012-08-03T04:53:37.900 に答える
0

特定の条件でそれらを表示したいので、最初に親レイアウトの可視性をandroid:visibility = "gone"にし、条件が満たされた場合は、プログラムでそのレイアウトの可視性をtrueに設定して、必要なときに表示され、完全なレイアウトを非表示にできるようにします。可視性をgoenに設定します。

または、特定のエディットテキストまたはテキストビューを追加する場合は、プログラムでアクティビティに追加および削除します。

あなたは次の方法であなたの編集テキストのために行うことができます

最初にxmlでそれらをvisibility="gone"に設定します

特定の条件であなたのコードですなわち

if(!reccinc.equals("0"))
            {
               System.out.println("Inside if");
               EditText rec=(EditText)findViewById(R.id.reccedit);
               EditText reccdate=(EditText)findViewById(R.id.reccdateedit);
               EditText recctype=(EditText)findViewById(R.id.recccatedit);

                after finding them..
                rec.setVisibity(View.visible);
                recdate.setVisibity(View.visible);
                rectype.setVisibity(View.visible);

       and rest of logic goes here..

この説明があなたのために働くことを願っています...

于 2012-08-03T04:57:38.137 に答える
0

テキストビューにIDを指定する必要があります

 <TextView                               
    android:layout_id="@+id/text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="right"       
    android:text="Start Date" 
   />  

そしてそれをJavaファイルにフェッチします

TextView textview =(TextView )findViewById(R.id.text);

そして、条件付きで

textview.setVisibility(View.INVISIBLE); 
textview.setVisibility(View.VISIBLE);

レイアウトからビュースペースが削除されます

textview.setVisibility(View.GONE);
于 2012-08-03T04:59:25.097 に答える
0

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Item" 
    android:layout_marginLeft="10dp"/>

<EditText
    android:id="@+id/itemedit"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <requestFocus />
</EditText>

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Price" 
    android:layout_marginLeft="10dp"/>

<EditText
    android:id="@+id/priceedit"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:numeric="decimal"/>

linearlayoutのIDをlinearlayout1として設定し、可視性をInvisibleとして設定できます。

<LinearLayout        
      android:id=""@+id/linearLayout1"             
      android:orientation="horizontal"          
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
      android:visibility="invisible">

       <TextView                             -------->TExtview1

    android:layout_width="wrap_content"
    android:layout_height="wrap_content"       
    android:text="Type" 
    android:layout_marginLeft="10dp"/>        
         <TextView                              --------->TExtview2

    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"       
    android:gravity="center_horizontal"  
    android:text="Recurrence" 
   />        

         <TextView                               --------->TExtview3
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="right"       
    android:text="Start Date" 
   />        

     </LinearLayout>

linearlayoutのIDをlinearlayout2として設定し、可視性をInvisibleとして設定できます。

  <LinearLayout 
     android:id="@+id/linearLayout2"
     android:orientation="horizontal" 
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
      android:visibility=""invisible"
     >

    <EditText                                     --------->edittext1
    android:id="@+id/recccatedit"
    android:layout_width="110dp"
    android:layout_height="wrap_content"  

    />

    <EditText                                       --------->edittext2
    android:id="@+id/reccedit"
    android:layout_width="80dp"
    android:layout_height="wrap_content" 

    android:numeric="decimal"
    />

<EditText                                             --------->edittext1
    android:id="@+id/reccdateedit"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:layout_weight="1"   
    android:layout_gravity="right"

/>

        <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:layout_marginTop="10dp">

            <Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:text="Back" />

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:text="Save" />

<Button
    android:id="@+id/btndelete"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:text="Delete" />


  </LinearLayout>

あなたのJavaファイル

私のJavaクラスファイル:

if(!reccinc.equals("0"))
            {
              linearLayout1.setVisibility(View.VISIBLE);
                System.out.println("Inside if");
            EditText rec=(EditText)findViewById(R.id.reccedit);
            EditText reccdate=(EditText)findViewById(R.id.reccdateedit);
            EditText recctype=(EditText)findViewById(R.id.recccatedit);

            String recc=null;
            String date=null;
            String type=null;
            db.open();               
            if(!intent.getStringExtra("Recc").equals("0"))
            {
                  linearLayout.setVisibility(VIEW.VISIBLE);

                 Cursor c= db.getReccurenceCount(intent.getStringExtra("Recc"));    
                 startManagingCursor(c);
                 recc=c.getString(c.getColumnIndex("increment"));
                 date=c.getString(c.getColumnIndex("startdate"));
                 type=c.getString(c.getColumnIndex("recurrencetype"));
            }

            rec.setText(recc);
            recctype.setText(type);
            reccdate.setText(date);
            }
于 2012-08-03T05:03:39.837 に答える