У меня есть ListView и я хочу установить фокус на выбранном элементе. ListView содержит 3 TextView на строку. Я хочу, чтобы два LinearLayout были видны при выборе элемента.
Я уже пробовал:
mListView.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus) {
((LinearLayout) findViewById(R.id.ll_btn_manipulation_lv)).setVisibility(View.VISIBLE);
((LinearLayout) findViewById(R.id.ll_tv_username)).setVisibility(View.VISIBLE);
}
}
});
Но это не работает. Поэтому я попытался добавить следующий код перед setOnFocusChangeListener :
mListView.setItemsCanFocus(true);
Это тоже не работает.
Итак, я попытался сделать это: (это тоже не работает)
for(int i = 0 ; i < mListView.getChildCount() ; ++i) {
TextView tv1 = (TextView) mListView.findViewById(R.id.textView1);
TextView tv2 = (TextView) mListView.findViewById(R.id.textView2);
TextView tv3 = (TextView) mListView.findViewById(R.id.textView3);
View.OnFocusChangeListener ofcl = new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus) {
((LinearLayout) findViewById(R.id.ll_btn_manipulation_lv)).setVisibility(View.VISIBLE);
((LinearLayout) findViewById(R.id.ll_tv_username)).setVisibility(View.VISIBLE);
}
}
};
tv1.setOnFocusChangeListener(ofcl);
tv2.setOnFocusChangeListener(ofcl);
tv3.setOnFocusChangeListener(ofcl);
}
Поэтому моя цель - сделать два LinearLayout видимыми после нажатия на элемент.
У вас есть идеи? Спасибо