Android настраивает ViewFlipper - PullRequest
0 голосов
/ 14 июня 2010

Таким образом, у меня есть почти та же самая проблема, описанная здесь:

http://code.google.com/p/android/issues/detail?id=6191

и до тех пор, пока проблема ViewFlipper в 2.1 и 2.2 не будет решена, я пытаюсь настроить свой собственный ViewFlipper описанным способом:

@Override
protected void onDetachedFromWindow() {
    try {
        super.onDetachedFromWindow();
    }
    catch (IllegalArgumentException e) {
        // Call stopFlipping() in order to kick off updateRunning()
        stopFlipping();
    }
}

Но я никогда раньше такого не делал и надеюсь получить небольшое руководство (поскольку мои собственные усилия заканчиваются).

Вот что у меня есть.

FixedFlipper.java:

import android.content.Context;
import android.util.AttributeSet;
import android.widget.ViewFlipper;

public class FixedFlipper extends ViewFlipper{
public FixedFlipper(Context context){
    super(context);
}

public FixedFlipper(Context context, AttributeSet attrs){
    super(context, attrs);
}

@Override
protected void onDetachedFromWindow(){
    try{
        super.onDetachedFromWindow();
    }catch(Exception e){
        super.stopFlipping();
    }
}
}

main.xml:

<com.site.TestApp.FixedFlipper 
    style="@style/body" android:id="@+id/flipper">
    ...
</com.site.TestApp.FixedFlipper>

И в своей деятельности я вызываю это так:

FixedFlipper flipper = (FixedFlipper)findViewById(R.id.flipper);

Кажется, это должно быть довольно просто, но я продолжаю получать это:

Binary XML file line #4: Error inflating class com.site.TestApp.FixedFlipper

Я ценю любые предложения. Я часами гонялся за хвостом, пытаясь выяснить, какую часть головоломки мне не хватает.

1 Ответ

0 голосов
/ 14 июня 2010

Попробуйте изменить ваш main.xml следующим образом:

<view
  class="com.site.TestApp.FixedFlipper"
  style="@style/body" 
  android:id="@+id/flipper"
    ...
</view>
...