Здравствуйте, ребята, пожалуйста, помогите Noob здесь, который только начинает изучать Android. В основном у меня есть активность, которая имеет TextView и на каждом Textview, который я установил onfocusListener, и все работает отлично. вот код для примера расположение страны ВеликобританияКак ListView OnFocusChangeListener в элементах списка массивов xml
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="50.0dip"
android:background="@drawable/button5_background">
<ImageView
android:layout_width="65dp"
android:layout_height="104dp"
android:id="@+id/afrflag"
android:layout_gravity="center_vertical"
android:src="@drawable/ukflag" />
<TextView
android:background="@drawable/custom_selector"
android:id="@+id/uk"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="@string/uk"
android:textColor="@color/white"
android:textSize="18.0sp"
android:focusable="true"
android:focusableInTouchMode="true" />
</LinearLayout>
здесь код OnFocusChangeListener для Великобритании
TextView btnuk = (TextView) findViewById(R.id.uk);
btnuk.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
if (hasFocus) {
videoList.clear();
fetchVideouk();
}
}
});
так что я решил поиграться и сделать arrays.xml и поставить все страны, туда и идти попробуйте listview вместо TextView, что мне пришлось создать так много строк, действующих как кнопки.
вот мой array.xml
<string-array
name="countryView">
<item>@string/uk</item>
<item>@string/frn</item>
<item>@string/ita</item>
<item>@string/ger</item>
</string-array>
</resources>
и XML для ListView
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/custom_selector">
<ListView
android:background="@drawable/button5_background"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/country_names"
android:entries="@array/countryView"
/>
</LinearLayout>
с указанным кодом я вижу названия стран нагрузить на мой взгляд, но я не знать, как установить onfocus на каждый пункт (страна)
ListView listView;
String[] uk;
uk = getResources().getStringArray(R.array.countryView);
listView = (ListView) findViewById(R.id.country_names);
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, uk);
listView.setAdapter(adapter);
listView.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
if (hasFocus) {
videoList.clear();
fetchVideosuk();
}
}
});
Как настроить onfocus для следующего элемента? пример ger, Ita и т. д. Я уверен, что это неверно, но я не понимаю, как это сделать?
Не могли бы вы поставить некоторые снимки экрана, определяющие, чего именно вы хотите достичь? – EEJ