我正在使用带有两个textView的gallery小部件。
我添加了一个onItemSelectedListener来改变dinamaically textView值:
mGallery.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int position, long arg3) {
TextView titleView= (TextView) findViewById(R.id.titleView);
TextView descriptionView= (TextView) findViewById(R.id.descriptionView);
titleView.setText(title[position]);
descriptionView.setText(description[position]);
}
但是当我翻阅画廊时,有一个问题。动画不流畅,如果我删除“setText”语句,正常工作。我只在Android 4.0上遇到此问题。
有办法解决吗?
答案 0 :(得分:0)
我有一段时间回到同一个问题。在我看来它是The Gallery中的一个错误..我通过发布延迟400毫秒的更新(snapback的持续时间)以一种hack'ish的方式解决了它。并将setCallbackDuringFling设置为false,以便在停止之前不会触发。
mGallery.setCallbackDuringFling (false);
mGallery.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int position, long arg3) {
mGallery.postDelayed(new Runnable() {
@Override
public void run() {
TextView titleView= (TextView) findViewById(R.id.titleView);
TextView descriptionView= (TextView) findViewById(R.id.descriptionView);
titleView.setText(title[position]);
descriptionView.setText(description[position]);
}
}, 400);
}