我想创建一个具有 ListView
的应用。
我希望我的 ListView
如下图所示。但问题是,只有列表中的 Button
是可点击的,其他都没有。我怎样才能实现它
自定义列表.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/