在Listview android结束时添加按钮

时间:2016-03-01 05:11:47

标签: java android

所以,我有一个Listview活动,它由SQLITE数据库中的值填充。

如何将按钮固定在顶部或底部?

<?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="horizontal" >

<TextView
    android:id="@+id/coligada"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Large Text"
    android:layout_alignBottom="@+id/editar"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_weight="1"/>

<Button
    android:id="@+id/editar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Quantidadesxsx"
    android:onClick="editar"
    android:layout_alignParentTop="true"
    android:layout_toRightOf="@+id/coligada"
    android:layout_toEndOf="@+id/coligada" />







 </RelativeLayout>

这是我的ProductAdapter,它具有自定义布局,其中包含使用Sqlite数据库中的值填充列表视图的项目和apdater。

package br.exemplosqlite;

import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;

import android.widget.RelativeLayout;
import android.widget.TextView;

import java.util.List;

public class ProdutosAdapter extends BaseAdapter {
private Context context;
private List<Produtos> list;

public ProdutosAdapter(Context context, List<Produtos> list){
    this.context = context;
    this.list = list;
}

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return list.size();
}

@Override
public Object getItem(int arg0) {
    // TODO Auto-generated method stub
    return list.get(arg0);
}

@Override
public long getItemId(int arg0) {
    // TODO Auto-generated method stub
    return list.get(arg0).getId();
}

@Override
public View getView(int position, View arg1, ViewGroup arg2) {
    final int auxPosition = position;

    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    final RelativeLayout layout = (RelativeLayout) inflater.inflate(R.layout.produtos, null);

    TextView tv = (TextView) layout.findViewById(R.id.coligada);
    tv.setText(list.get(position).getItem());


    Button editarBt = (Button) layout.findViewById(R.id.editar);
    editarBt.setOnClickListener(new Button.OnClickListener(){
        @Override
        public void onClick(View arg0) {
            Intent intent = new Intent(context, NewUserActivity.class);
            intent.putExtra("item", list.get(auxPosition).getItem());
               intent.putExtra("quantidaderm",list.get(auxPosition).getQuantidaderm());
            intent.putExtra("id", list.get(auxPosition).getId());

            context.startActivity(intent);
        }
    });


    // *********** BOTÃO DE EXCLUIR ***************** //
    //Button deletarBt = (Button) layout.findViewById(R.id.deletar);
    //deletarBt.setOnClickListener(new Button.OnClickListener(){
    //  @Override
    //  public void onClick(View arg0) {
    //      BD bd = new BD(context);
    //      bd.deletar(list.get(auxPosition));
    //
    //      layout.setVisibility(View.GONE);
    //  }
    //}
    ///);

    return layout;
}

}

7 个答案:

答案 0 :(得分:0)

当前布局适用于列表视图项目。

从此布局文件中删除Button并将其粘贴到已定义ListView的布局文件中。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" >

    <ListView
       .....
    </ListView>
    <Button>
    </Button>
</RelativeLayout>

在一个布局中

<TextView>

</TextView>

在另一个布局中

答案 1 :(得分:0)

在按钮中添加此行代码

<Button
android:id="@+id/editar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Quantidadesxsx"
android:onClick="editar"
android:layout_below="@+id/coligada"/>

答案 2 :(得分:0)

这样做:

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

    <ListView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"/>
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Your text here"/>
</LinearLayout>

答案 3 :(得分:0)

试试这个:

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

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical" >

        <ListView
            android:id="@+id/listView1"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >
        </ListView>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.05"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/coligada"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/editar"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_weight="1"
            android:text="Large Text" />

        <Button
            android:id="@+id/editar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_toEndOf="@+id/coligada"
            android:layout_toRightOf="@+id/coligada"
            android:onClick="editar"
            android:text="Quantidadesxsx" />
    </LinearLayout>

</LinearLayout>

答案 4 :(得分:0)

试试这个。

    <Button
 android:id="@+id/btn"
layout_width="wrap_content"
layout_height="wrap_content"
android:alignParentTop="true"
/>

<ListView
layout_width="wrap_content"
layout_height="wrap_content"
android:layout_below="@+id/btn"
/>

答案 5 :(得分:0)

您可以将android:layout_weight="1"LinearLayout一起使用。

示例

<?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="wrap_content"
android:orientation="horizontal" >

<TextView
    android:id="@+id/txtView"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"/>

<Button
    android:id="@+id/editar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Quantidadesxsx"
    android:onClick="editar"/>

</LinearLayout>

答案 6 :(得分:0)

ListViewcenterHorizontal

的底部尝试以下xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />
    <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:text="Your Button"
        />
</RelativeLayout>

希望这有帮助。