2012-08-03 31 views
0

在我的应用程序有disappearence显示一些3 EditText上的看法和3个TEX tviews,基于某些条件(即),如果满足一定条件下本应显示,否则它应该not.I有这个textviews在XML file.How我能实现this..Thanks提前:TextView的appearence和Android的

我的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); 
      } 
+0

埃里克我张贴only..I检查了条件display..But我搜索的净但是我找不到任何相关的答案。所以我有一个混乱,我必须在代码部分做到这一点,不可能通过XML ..这张贴在这里张贴... – 2012-08-03 04:54:06

回答

2

您可以拨打

view.setVisibility(View.GONE); 

使视图从布局中消失。您可以拨打

view.setVisibility(View.VISIBLE); 

将其重新带回(假设它尚未从布局中删除)。

0

当你想显示他们在特定的条件只是让你的父母布局的知名度最初的android:知名度=“水涨船高”,如果条件满足,然后作出这样的布局知名度,真正的编程方式,这样将显示,当你想,你可以通过将可见性设置消失来隐藏完整的布局。

或者,如果你想添加特定的EditText TextView的或再加入,并从活动程序删除它们。

您可以按以下方式

initiallly以XML为您的EditText做设置它们的知名度=在你的代码“水涨船高”

在特定的条件下即

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.. 

希望这个解释适用于您...

0

你必须给IDS你textviews

<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); 
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中作为linearlayout1一个ID,并设置可见性为不可见

<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中作为linearlayout2一个ID,并设置可见性为不可见

<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); 
      }