我的 ListView 有一个 OnClickListener。
我想在我的 onClickListener 中做这些事情:
1- 为整行而不是行内的文本框定义一个 onClickListener。
2-点击一行时,我想知道点击了哪一行?
这是我在文本框上处理 onClickListener 所做的:
private OnClickListener onClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
String item = ((TextView)v).getText().toString();
Toast.makeText(context, "SHIT Happened", Toast.LENGTH_SHORT).show();
}
};
这是我的 getView 方法:
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
View row = inflater.inflate(R.layout.news_row, parent,false);
TextView title = (TextView) row.findViewById(R.id.txtTitle);
TextView date = (TextView) row.findViewById(R.id.txtDate);
News temp = list.get(position);
title.setText(temp.getTitle());
date.setText(temp.getsDate());
title.setOnClickListener(onClickListener);
return row;
}
这是布局:
<?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" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/newsRow"
android:orientation="horizontal" >
<TextView
android:id="@+id/txtTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="210dp"/>
<TextView
android:id="@+id/txtDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="100dp"/>
<TextView
android:id="@+id/txtNewsID"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"
android:width="100dp"/>
</LinearLayout>
</RelativeLayout>
我想我应该为 LinearLayout 创建一个 onClickListener,但是当我这样做时,我现在不知道如何访问文本框的值。