Android - добавление кнопки в каждую строку в списке

1

По какой-то причине я не могу просмотреть кнопку, которую я включил в файл row.xml для просмотра списка.

Это main.xml, который я использую

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent">
<ListView 
    android:id="@+id/friendsListView" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"/>
</LinearLayout>

row.xml следующий

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="2dp">

 <ImageView android:id="@+id/imgIcon"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:gravity="center_vertical"
    android:layout_marginRight="10dp"
    android:contentDescription="@string/fbUserPic"/>

 <TextView android:id="@+id/txtTitle"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center_vertical"
    android:textStyle="normal"
    android:textSize="12dp"
    android:textColor="#FFFFFF"/>

 <Button android:id="@+id/btnPost"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:text="@string/fbbtnPost"
    android:focusable="false"/>
 </LinearLayout>

Ниже приведено переопределение getView в пользовательском адаптере, который я использую

@Override
public View getView(int position, View convertView, ViewGroup parent)
{
    View row = convertView;
    FriendRowHolder friendHolder = null;

    if (row == null) 
    {
          LayoutInflater inflater = ((Activity)objContext).getLayoutInflater();
          row = inflater.inflate(layoutResourceId, parent, false);

          friendHolder = new FriendRowHolder();
          friendHolder.txtTitle = (TextView) row.findViewById(R.id.txtTitle);
          friendHolder.imgIcon = (ImageView) row.findViewById(R.id.imgIcon);
          friendHolder.btnPost = (Button) row.findViewById(R.id.btnPost);

          row.setTag(friendHolder);
    }
    else
    {
        friendHolder = (FriendRowHolder)row.getTag();
    }

    Friend objFriend = lstFriends.get(position);
    friendHolder.txtTitle.setText(objFriend.GetName());
    friendHolder.imgIcon.setImageBitmap(loadBitmap(objFriend.GetPictureURL()));
    friendHolder.btnPost.setText("Hi");

    return row;
}
  • 1
    У меня была эта проблема, кнопка была там, но тоже справа, и я не смог ее увидеть, удалить ImageView и попробовать
  • 0
    Ты прав! кнопка была слишком справа и не отображалась. Я мог видеть кнопку, установив для android: layout_width текстового представления значение "wrap_parent"
Показать ещё 1 комментарий
Теги:
button
listview

1 ответ

0
Лучший ответ

Проблема заключалась в том, что кнопка расположена слишком сильно справа от экрана. Мне просто пришлось переместить кнопку влево, чтобы она появилась.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню