relativelayout使我的按钮停止工作

时间:2012-03-21 21:28:59

标签: android xml

当我使用linearlayout时,除了我的按钮位于屏幕的顶部而不是屏幕的底部之外,一切都像它的假设一样。

当我使用relativelayout时,我的按钮位于底部,就像它应该的那样,但只适用于第一个listview条目,之后它停止工作......

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

<Button android:id="@+id/plus"
android:background="@drawable/selector"
android:layout_width="fill_parent"
android:layout_height="75dp"
android:layout_alignParentBottom="true"
/>

<ListView 
    android:id="@android:id/list" 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
>

</ListView>



  <TextView android:id="@android:id/empty" android:layout_width="wrap_content"
   android:layout_height="wrap_content" android:text="@string/helptxt1"

  />


    </RelativeLayout>

...

 public void addListenerOnButton() {

    final Context context = this;

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

    button1.setOnClickListener(new OnClickListener() {

    //  @Override
        public void onClick(View arg0) {


            createNote();
        //    Intent intent = new Intent(context, QuoteEdit.class);
            //            startActivity(intent);   

        }

    });

 }


private void createNote() {
Intent i = new Intent(this, QuoteEdit.class);
startActivityForResult(i, ACTIVITY_CREATE);

}

1 个答案:

答案 0 :(得分:0)

您的按钮不起作用,因为当您使用相对布局时,所有视图/按钮都放在相同的位置,除非您将它们放在彼此的上方或下方。尝试使用您的布局:

<Button
    android:id="@+id/plus"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true" />

<ListView
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_above="@+id/plus" >
</ListView>

或者您可以在按钮上添加onClick:

 <Button
    android:id="@+id/plus"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:onClick="myClickMethod" />

并在您的代码中

 public void myClickMethod(View view) {

      createNote();

 }