Как я могу выполнить onListItemClick в виде списка на Android - PullRequest
0 голосов
/ 09 июня 2011

У меня есть ListView с тремя ImageButton с и TextView с, ImageView. Как я могу выполнить onListItemClick в ListView для отдельных действий для каждого ImageButton.

public class AndroidThumbnailList extends ListActivity{
    ..........
    ib2=(ImageButton)findViewById(R.id.imageButton2);
    ib3=(ImageButton)findViewById(R.id.imageButton3);
    ib1=(ImageButton)findViewById(R.id.imageButton1);

    public class MyThumbnaildapter extends ArrayAdapter<String>{
            public MyThumbnaildapter(Context context, int textViewResourceId,String[] objects) {
                    super(context, textViewResourceId, objects);
                    // TODO Auto-generated constructor stub
            }
            public View getView(int position, View convertView, ViewGroup parent) {
                     .........
            }
    }

    protected void onListItemClick(ListView l, View v, int position, long id) {

        Log.e("video", "called");
        super.onListItemClick(l, v, position, id);
        if(v.equals(ib1)){
             ....
        } 
        if(v.equals(ib2)){
             ....
        }

   }
   public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setListAdapter(new MyThumbnaildapter(AndroidThumbnailList.this, R.layout.row,  _videosId));
   }

}

Если я коснусь ImageButton no action is done and the Кнопка ImageButton также не будет выделена.

мой XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="100dp"      android:descendantFocusability="blocksDescendants">
<image view>....</image view>
<LinearLayout android:orientation="vertical"   android:descendantFocusability="blocksDescendants"
 <ImageButton android:id="@+id/imageButton1 ... ></ImageButton>
 <ImageButton android:id="@+id/imageButton2 ... ></ImageButton>
 <ImageButton android:id="@+id/imageButton3 ... ></ImageButton>

пожалуйста, помогите мне.

Ответы [ 3 ]

1 голос
/ 09 июня 2011

Вы должны будете установить слушателя на каждый Button в getView() из ListAdapter.

Проверить эту тему .

0 голосов
/ 09 июня 2011

Вы можете установить индивидуальные onClick() обработчики событий для каждого ImageButton.

Вы должны объявить метод вашего контекста (как правило, ваш Activity):

public void onClickHandler(View v)

См. Javadocs ImageButton и onClick () для получения дополнительной информации.

0 голосов
/ 09 июня 2011

Во-первых, вы используете ListView или LinearLayout?ListActivity используется вместе с ListView, я не вижу твоего.Вместо этого вы использовали LinearLayout и дали свои ImageButton s, которые не созданы адаптером, поэтому не использовали onListItemClick.

Second (это просто мнение, вы можете заставить его работать без этого), ИМХО, вам лучше определить OnClickListener, когда вы определяете свои элементы в getView(), а не используете onListItemClick.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...