2012-06-18 123 views
1

我有一個簡單的垂直LinearLayout,其中頂部有button,下面有Listview
我想的是,當按下button,它隱藏(使用View.GONE)和它產生的空的空間被填滿ListView
但經過所有的努力,我還沒有能夠實現它。如何在隱藏按鈕後用ListView填充空白空間

我試圖invalidate()onDraw(),我試着給layout_weight=1ListView,我試過forceLayout()requestLayout()方法很好,但沒有一次成功。

奇怪的是,如果有EditTextTextView或任何其他組件,而不是ListView,其做工精細即Edittext等去搶奪通過隱藏Button產生的空白區域。但在ListView的情況下,它不會發生。

+0

@ user370305:那麼EditText等如何來填充該空間? –

回答

1

這件事是完全在我的模擬器

btn1 = (Button) findViewById(R.id.button1); 

    btn1.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      new ProgressTask().execute(); 
      btn1.setVisibility(8); 
     } 
    }) 

XML代碼

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 
    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button" /> 

    <ListView 
     android:id="@+id/itemlist" 
     android:layout_below="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 
</RelativeLayout> 
+0

在你隱藏的按鈕下面是否有ListView?在這裏什麼是「8」? –

+0

是的。請參閱我放入XML文件代碼。 8是代碼GONE – Nirali

+0

那麼你是否解決了你的問題? – Nirali

1

檢查這方面的工作......

 public class TestingActivity extends ListActivity { 
/** Called when the activity is first created. */ 
Button checkBtn; 
    String[] temp={"item 1","item 2","item 3"}; 
/** Called when the activity is first created. */ 

@SuppressWarnings("unchecked") 
@Override 

public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 

    setContentView(R.layout.main); 

     getListView().setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, temp)); 
     checkBtn = (Button) findViewById(R.id.button1); 

     checkBtn.setOnClickListener(new View.OnClickListener() 
     { 

     public void onClick(View v) 
     { 


     checkBtn.setVisibility(View.GONE); 


     }}); 

    } } 

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

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="check connetion" /> 

<ListView 
    android:id="@android:id/list" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:scrollingCache="false" > 
</ListView> 

    </LinearLayout>