android - 带有按钮的 ListView,但只有按钮被选中,而不是列表

标签 android listview

我想创建一个具有 ListView 的应用。

我希望我的 ListView 如下图所示。但问题是,只有列表中的 Button 是可点击的,其他都没有。我怎样才能实现它

enter image description here

自定义列表.Xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="horizontal"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:background="#fff">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="250dp"
        android:background="#fff"
        android:layout_height="match_parent">

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

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Job Code"
                android:id="@+id/tv_job_code"
                style="@style/Job_on_Call"
                android:layout_marginTop="5dp"
                android:layout_marginLeft="10dp"
                android:textStyle="bold"/>

        </LinearLayout>

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="5dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Category"
                android:id="@+id/tv_category"
                style="@style/Job_on_Call"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="("
                android:id="@+id/textView4"
                style="@style/Job_on_Call"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Years"
                android:id="@+id/tv_exp_yrs"
                style="@style/Job_on_Call"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text=","
                android:id="@+id/textView5"
                style="@style/Job_on_Call"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Mnths"
                android:id="@+id/tv_exp_mnths"
                style="@style/Job_on_Call"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text=")"
                android:id="@+id/textView45"
                style="@style/Job_on_Call"/>
        </LinearLayout>

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="10dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Posted On:"
                style="@style/Job_on_Call"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="6-12-2014"
                android:id="@+id/tv_date"
                style="@style/Job_on_Call"
                android:layout_marginLeft="5dp"/>
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">

            <Button
                style="?android:attr/buttonStyleSmall"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Matching Jobs"
                android:id="@+id/button"/>

            <Button
                style="?android:attr/buttonStyleSmall"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Applied Jobs"
                android:id="@+id/button2"/>

        </LinearLayout>
    </LinearLayout>

</LinearLayout>

自定义适配器

package com.example.jobs_on_call_adapter;

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

import com.example.jobs_on_call.app.R;
import com.example.jobs_on_call_object.SearchValues;

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

/**
 * Created by ANUJ on 6/11/2014.
 */
public class SearchJobsCustomList extends BaseAdapter {
    Context c;
    ArrayList<HashMap<String, String>> data;

    HashMap<String, String> resultp = new HashMap<String, String> ();
    ArrayList<SearchValues> values;
    SearchValues a;

    public SearchJobsCustomList(Context c, ArrayList<SearchValues> values) {
        super ();
        this.c = c;
        this.values = values;
    }

    @Override
    public int getCount() {
        return values.size ();
    }

    @Override
    public Object getItem(int i) {
        return null;
    }

    @Override
    public long getItemId(int i) {
        return 0;
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {

        a = new SearchValues ();
        if (view == null) {
            view = LayoutInflater.from (c).inflate (R.layout.custom_search_jobs_lists, viewGroup, false);
            a = values.get (i);
            TextView JobCode = (TextView) view.findViewById (R.id.tv_job_code);
            TextView Category = (TextView) view.findViewById (R.id.tv_category);
            TextView ExpYrs = (TextView) view.findViewById (R.id.tv_exp_yrs);
            TextView ExpMnths = (TextView) view.findViewById (R.id.tv_exp_mnths);
            TextView Date = (TextView) view.findViewById (R.id.tv_date);


            JobCode.setText (a.code);
            Category.setText (a.title);
//            ExpYrs.setText (resultp.get ("minExp"));
//            ExpMnths.setText (resultp.get ("maxExp"));
//            Date.setText (resultp.get ("postedOn"));


//            JobCode.setText ("CGT011");
//            Category.setText ("Press");
//            ExpYrs.setText ("1 Year");
//            ExpMnths.setText ("5 Months");
//            Date.setText ("6-6-14");


        }
        return view;
    }
}

最佳答案

ListView listview = (ListView)findViewById(R.id.list);  


listview.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position,
                    long id) {
                //Do your code here
            }
        });

关于android - 带有按钮的 ListView,但只有按钮被选中,而不是列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24299422/

相关文章:

android - 将 arraylist<String> 值插入到 android 中的 sqlite

java - MapBox 地点选择器导致致命信号 6

java - Android 警报接收器从未触发

delphi - 如何在Label和ListView中显示&

listview - 如何通过鼠标拖动在 JavaFX ListView 中选择多行

android - 如何从 webview 中删除类

android - 我可以像在 Swift 中一样在 Kotlin 中进行扩展吗

android - Nativescript 无法让 ListView 滚动到底部

javascript - 将 native javascript 对象值 react 到数组

JavaFX 中的 ListView 样式