2012-02-17 3 views
3

У меня есть приложение, которое проверяет различные требования, и процесс проверки визуализируется с помощью ProgressBar. При первом запуске он выглядит так, как должен. Однако, если я запустил другое действие с startActivityForResult() (в этом случае Настройки доступности), приложение снова инициализирует весь процесс, но как-то оба ProgressBars выглядят очень странно (see video below).ProgressBar выглядит странно после перезагрузки. Активность

Планировка:

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="20dip" 
    android:layout_marginLeft="20dip" 
    android:layout_marginTop="20dip" 
    android:orientation="horizontal" 
    android:paddingLeft="5dip" > 

    <FrameLayout 
     android:layout_width="48dip" 
     android:layout_height="fill_parent" > 

     <ImageView 
      android:id="@+id/checkImage2" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:scaleType="centerInside" 
      android:visibility="invisible" /> 

     <ProgressBar 
      android:id="@+id/checkProgess2" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:visibility="visible" /> 
    </FrameLayout> 

    <TextView 
     android:id="@+id/checkText2" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_marginLeft="5dip" 
     android:gravity="center_vertical" 
     android:text="Checking for Service..." /> 
</LinearLayout> 

Инициализация (после OnCreate и OnActivityResult)

private void initActivity() { 
    imageRoot.setVisibility(ImageView.INVISIBLE); 
    imageService.setVisibility(ImageView.INVISIBLE); 
    progRoot.setVisibility(ImageView.VISIBLE); 
    progService.setVisibility(ImageView.VISIBLE); 
    textRoot.setText("checking for root..."); //TODO 
    textService.setText("checking for service..."); //TODO 
    layoutInfo.setVisibility(LinearLayout.GONE); 

    setResult(Activity.RESULT_CANCELED);   
    CheckForRoot checkRootTask = new CheckForRoot(); 
    checkRootTask.execute(AppName.valueOf(getIntent().getStringExtra(APPNAME))); 
} 

У вас есть какие-либо идеи, что может быть причиной этой проблемы?

Have a look at the video

+0

Удивительно .. Я бы сказал .. :) –

+0

Действительно: D – Force

ответ

0

Хорошо, я понял, что работать с изменяя FrameLayout «s

android:layout_height="fill_parent" 

в

android:layout_height="48dip" 

Тем не менее, я понятия не имею, почему это произошло - в случае, если вы знаете, почему, пожалуйста, дайте мне знать!