2012-06-18 81 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>