У меня есть ListView, где каждая строка имеет фиксированную высоту.
Каждая строка содержит рядом с некоторыми изображениями TextView.
Иногда текст, который я хочу отобразить, слишком велик, и поэтому я хотел бы сделать его прокручиваемым.
Поэтому я добавил (основываясь на Создание прокрутки TextView на Android ) следующие строки в моем TextView
text.setMaxLines(5);
text.setVerticalScrollBarEnabled(true);
text.setMovementMethod(ScrollingMovementMethod.getInstance());
Это прекрасно работает, если я использую TextView изолированно, но не тогда, когда я помещаю TextView внутри ListView:
как только я делаю вертикальную прокрутку, кажется, что события используются ListView.
Любые предложения о том, как я могу сделать эту работу?
Полное (тестовое) действие добавлено ниже (без layout.xml)
public class TestScrollableTextView extends Activity
{
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
LinearLayout layout = new LinearLayout(this);
//add a ListView
ListView list = new ListView(this);
layout.addView(list);
list.setAdapter(new BaseAdapter()
{
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
TextView text = new TextView(TestScrollableTextView.this);
String s = "";
//add 10 lines of text, all but first are indented
for (int i = 0; i < 10; i++)
{
if(i>0) s+="\t";
s += "position "+position+"; line="+i+"\n";
}
text.setText(s);
text.setMaxLines(5);
text.setVerticalScrollBarEnabled(true);
text.setMovementMethod(ScrollingMovementMethod.getInstance());
return text;
}
@Override
public long getItemId(int position)
{
return 0;
}
@Override
public Object getItem(int position)
{
return null;
}
@Override
public int getCount()
{
return 20;
}
});
setContentView(layout);
}
}