Я использую пользовательское представление списка, которое содержит некоторые текстовые представления и горизонтальное представление списка.
Все представления для настраиваемого представления списка заполнены правильно, а слушатели OnClick работают правильно.
Теперь я использую второй базовый адаптер для заполнения горизонтального списка, который содержит изображения.
После заполнения горизонтального представления списка при попытке щелкнуть «Относительное расположение» внутри горизонтального представления списка оно не запускается.
Вот мой код:
public class ThreadListNewAdapter extends ArrayAdapter<Thread> {
private Context context;
private ImageLoader imageLoader;
private HorizontialListView horizontialListView;
public ThreadListNewAdapter(Context context, int textViewResourceId,
List<CompressedThread> threadList) {
super(context, textViewResourceId, threadList);
this.context = context;
imageLoader = new ImageLoader(context);
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
ImageView userImage;
View myView = convertView;
LayoutInflater inflater = (LayoutInflater) context // activity.getLayoutInflater();
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
myView = inflater.inflate(R.layout.popular_new, null);
myView.setTag(threadId);
final View view = myView;
if (mediaList.size() > 0) {
imageLayout.setVisibility(View.VISIBLE);
horizontialListView = (HorizontialListView) myView
.findViewById(R.id.media_horizontal_view);
horizontialListView.setAdapter(new ImageAdapter(mediaList)); //PLACE WHHERE I AM CALLING SECOND ADAPTER
}
view.setTag(position);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onThreadClick(fThread);
}
});
return myView;
}
class ImageAdapter extends BaseAdapter {
List<Media> mediaList = new ArrayList<Media>();
public ImageAdapter(List<Media> allMediaList) {
mediaList = allMediaList;
}
@Override
public int getCount() {
return mediaList.size();
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final int pos = position;
ViewHolder holder;
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
holder = new ViewHolder();
convertView = inflater.inflate(R.layout.inbox_horizontal_row,
null);
holder.imageView = (ImageView) convertView
.findViewById(R.id.media_image_view);
holder.commentLayout = (RelativeLayout) convertView
.findViewById(R.id.comment_layout);
holder.commentLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.v("Clicked", "Clicked" + "" + pos);
}
}); // CLICK EVENT IS NOT FIRING HERE
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.mediaId = position;
return convertView;
}
}
class ViewHolder {
ImageView imageView;
TextView commentText, likeText;
RelativeLayout commentLayout;
int mediaId;
}
}
Горизонтальный XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/media_image_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<RelativeLayout
android:id="@+id/like_comment_layout"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_gravity="bottom"
android:layout_marginBottom="10dp"
android:layout_marginLeft="10dp"
android:background="#80000000"
android:clickable="true"
android:focusable="true" >
<RelativeLayout
android:id="@+id/comment_layout"
android:layout_width="60dp"
android:layout_height="30dp"
android:orientation="horizontal" >
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentLeft="true"
android:layout_centerInParent="true"
android:layout_marginLeft="5dp"
android:src="@drawable/comment" />
</RelativeLayout>
</RelativeLayout>
</FrameLayout>
</LinearLayout>