当前位置:编程学习 > wap >>

安卓 ListView与Button并存,如何取消ListView中的Button


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

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

            <TextView
                android:id="@+id/amount_tv"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:text="@string/money" />

            <TextView
                android:id="@+id/category_tv"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:text="@string/category" />

            <TextView
                android:id="@+id/account_tv"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:text="@string/account" />

        </LinearLayout>

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

    <Button
        android:id="@+id/return_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:text="@string/return_btn" />

</RelativeLayout>
--------------------编程问答-------------------- 要看你ListView的那个布局xml --------------------编程问答-------------------- 你这个布局,是因为你的布局有问题啊,listview和return_btn之间的相对位置没有写,手动调下它们之间的相对位置吧 --------------------编程问答-------------------- 调来调去都没有调好。。→_→我要知道怎么调就不会在论坛上问了。。还请大神指教如何调整 --------------------编程问答-------------------- 你的ListView填充的adapter的布局中有按钮,把那个去掉就行了 --------------------编程问答--------------------
引用 3 楼 wangdi620 的回复:
调来调去都没有调好。。→_→我要知道怎么调就不会在论坛上问了。。还请大神指教如何调整


你把adapter的布局贴一下或者检查一下 --------------------编程问答--------------------
引用 5 楼 pengguohua1988 的回复:
你把adapter的布局贴一下或者检查一下

这是Adapter,我应该没绑定Button吧、、
package com.example.dnext;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import com.example.data.TransactionData;
import com.example.db.MyDbHelper;
import com.example.db.MyDbInfo;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.SimpleAdapter;

public class ShowExpenseActivity extends Activity {
private ListView listView;
private MyDbHelper db;
private Button return_btn;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.show_expense_activity);

db = SplashScreenActivity.db;
listView = (ListView) findViewById(R.id.listView);
// listView.setOnItemClickListener(listener);

return_btn = (Button) findViewById(R.id.return_btn);
return_btn.setOnClickListener(new ClickListner());
initView();
}

private void initView() {
List<TransactionData> list = db.show();
List<HashMap<String, Object>> data = new ArrayList<HashMap<String,Object>>();
for(TransactionData tData : list) {
HashMap<String, Object> item = new HashMap<String, Object>();
item.put(MyDbInfo.getFieldNames()[0][0], tData.getId());
item.put(MyDbInfo.getFieldNames()[0][1], tData.getMoney());
item.put(MyDbInfo.getFieldNames()[1][1], tData.getCategoryName());
item.put(MyDbInfo.getFieldNames()[2][1], tData.getAccountName());
data.add(item);
}
/*把数据绑定在item上*/
SimpleAdapter adapter = new SimpleAdapter(getApplicationContext(), data, R.layout.show_expense_activity, 
new String[]{MyDbInfo.getFieldNames()[0][1], MyDbInfo.getFieldNames()[1][1], MyDbInfo.getFieldNames()[2][1]}, 
new int[]{R.id.amount_tv, R.id.category_tv, R.id.account_tv});
listView.setAdapter(adapter);
}

private final class ClickListner implements OnClickListener {
@Override
public void onClick(View v) {
Intent intent = new Intent(ShowExpenseActivity.this, MainActivity.class);
startActivity(intent);
finish();
}

}

}
--------------------编程问答--------------------
引用 6 楼 wangdi620 的回复:
Quote: 引用 5 楼 pengguohua1988 的回复:

你把adapter的布局贴一下或者检查一下

这是Adapter,我应该没绑定Button吧、、
package com.example.dnext;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import com.example.data.TransactionData;
import com.example.db.MyDbHelper;
import com.example.db.MyDbInfo;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.SimpleAdapter;

public class ShowExpenseActivity extends Activity {
private ListView listView;
private MyDbHelper db;
private Button return_btn;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.show_expense_activity);

db = SplashScreenActivity.db;
listView = (ListView) findViewById(R.id.listView);
// listView.setOnItemClickListener(listener);

return_btn = (Button) findViewById(R.id.return_btn);
return_btn.setOnClickListener(new ClickListner());
initView();
}

private void initView() {
List<TransactionData> list = db.show();
List<HashMap<String, Object>> data = new ArrayList<HashMap<String,Object>>();
for(TransactionData tData : list) {
HashMap<String, Object> item = new HashMap<String, Object>();
item.put(MyDbInfo.getFieldNames()[0][0], tData.getId());
item.put(MyDbInfo.getFieldNames()[0][1], tData.getMoney());
item.put(MyDbInfo.getFieldNames()[1][1], tData.getCategoryName());
item.put(MyDbInfo.getFieldNames()[2][1], tData.getAccountName());
data.add(item);
}
/*把数据绑定在item上*/
SimpleAdapter adapter = new SimpleAdapter(getApplicationContext(), data, R.layout.show_expense_activity, 
new String[]{MyDbInfo.getFieldNames()[0][1], MyDbInfo.getFieldNames()[1][1], MyDbInfo.getFieldNames()[2][1]}, 
new int[]{R.id.amount_tv, R.id.category_tv, R.id.account_tv});
listView.setAdapter(adapter);
}

private final class ClickListner implements OnClickListener {
@Override
public void onClick(View v) {
Intent intent = new Intent(ShowExpenseActivity.this, MainActivity.class);
startActivity(intent);
finish();
}

}

}



R.layout.show_expense_activity这个布局贴一下 --------------------编程问答--------------------
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

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

            <TextView
                android:id="@+id/amount_tv"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:text="金额" />

            <TextView
                android:id="@+id/category_tv"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:text="类别" />

            <TextView
                android:id="@+id/account_tv"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:text="数量" />

        </LinearLayout>

    </LinearLayout>

    <Button
        android:id="@+id/return_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:text="退出" />

    <ListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="480dp"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/return_btn" >
    </ListView>

</RelativeLayout>
已经帮你调整好了,记得改下每个textview的text,那是我随便写的 --------------------编程问答-------------------- 如何觉得listview隔着上面太开了,就把return_btn改小些,,, --------------------编程问答--------------------
引用 9 楼 heaimnmn 的回复:
如何觉得listview隔着上面太开了,就把return_btn改小些,,,




貌似答非所问啊 --------------------编程问答-------------------- 楼主,总归有方法的,别太激动 --------------------编程问答--------------------
引用 10 楼 pengguohua1988 的回复:
Quote: 引用 9 楼 heaimnmn 的回复:

如何觉得listview隔着上面太开了,就把return_btn改小些,,,




貌似答非所问啊

Button还是成堆的出现在ListView中。。,最后决定不用Button,改用其他方法实现退出功能。。还是多谢回答啦 --------------------编程问答--------------------
引用 12 楼 wangdi620 的回复:
Quote: 引用 10 楼 pengguohua1988 的回复:

Quote: 引用 9 楼 heaimnmn 的回复:

如何觉得listview隔着上面太开了,就把return_btn改小些,,,




貌似答非所问啊

Button还是成堆的出现在ListView中。。,最后决定不用Button,改用其他方法实现退出功能。。还是多谢回答啦


你为什么就是死活不贴R.layout.show_expense_activity这个XML呢?
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,