У меня есть ListView с макете строки, каккнопки внутри ListView
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:weightSum="5"
>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/ArriveTime"
android:gravity="center"
android:layout_weight="1" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/Name"
android:gravity="center"
android:layout_weight="1" />
<Button
android:focusable="false"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/Arrive"
android:gravity="center"
android:layout_weight="1"
android:text="Arrive" />
<Button
android:focusable="false"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/Encounter"
android:gravity="center"
android:layout_weight="1"
android:text="Encounter" />
<Button
android:focusable="false"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/Exit"
android:gravity="center"
android:layout_weight="1"
android:text="Exit" />
</LinearLayout>
Я хочу, чтобы, когда щелчок по строке в состоянии нажать на кнопки, так что я установить android:focusable="false"
и по щелчку я говорю
MainGrid.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Log.d("zzzzzzzzzzzzzzzzzzzzzzzz",""+ oldPosition);
if(oldPosition != -1)
{
MainGrid.getChildAt(oldPosition).setFocusable(false);
//MainGrid.findViewById(oldPosition).setFocusable(false);
}
// Set the whole list view unfocusable
MainGrid.setFocusable(false);
// focus only on this
view.setFocusable(true);
oldPosition = position -1;
SetMenueOnClick(position-1) ;
}});
в проблема в том, что после первого щелчка на строке кнопки будут активны, и я не могу снова на нее нажимать любую идею, чтобы исправить это, мне нужно активировать кнопки в строке, которую я нажимаю, затем перенести фокус на строку для дальнейшего нажатия
Вы можете использовать виджет радиообъектива, если он соответствует вашим целям. – Sanandrea