Android - Gallery使用TextView的奇怪行为

时间:2012-06-11 09:53:52

标签: android textview gallery flip

我正在使用带有两个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上遇到此问题。

有办法解决吗?

1 个答案:

答案 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);

}