2017-10-17 1 views
1

Turbolinks 5を使用しているAndroidでは、古典的なTurbolinksの切り替えは行われません(途中に白いページがなく、水平の進行状況バーが表示されません)。だから、私はMainActivity.java私 Android Turbolinksでは、デフォルトのスピナーを置き換えるカスタムのprogressViewを作成する方法は?

activity_main.xmlで

 progressView = new ProgressBar(turbolinksView.getContext()); 
     TurbolinksSession.getDefault(this) 
       .activity(this) 
       .adapter(this) 
       .view(turbolinksView) 
       .progressView(progressView, R.id.indeterminateBar, 300) 
       .visit(location); 

と、この中でこれを持って、私は私自身のprogressViewを必要とするが、私は

間違っているかもしれないと思います

<ProgressBar 
    android:id="@+id/indeterminateBar" 
    android:layout_width="wrap_content" 
    style="@android:style/Widget.ProgressBar.Horizontal" 
    android:layout_height="wrap_content" 
    /> 

階調設定が

compileSdkVersion 26 
minSdkVersion 19 
targetSdkVersion 22 

私はIllegalArgumentException "A progress indicator view must be provided in your custom progressView."を得る上で私は

.progressView(progressView, progressView.getId(), 300) 

を試してみましたが、私はまだIllegalArgumentException "A progress indicator view must be provided in your custom progressView."

は明らかに私は右progressViewをインスタンス化することができません取得し、私の質問はどのように私は何をすべきかである実行右を取得/作成するprogressView ??クロスを事前に

謝罪、私はそれをここに掲載唯一の理由は、あまりにも私が日

答えて

1

のためにそれに引っかかってきたTurbolinks-Androidから質問を投稿それはhereです。 progressViewFrameLayoutのようなレイアウトでなければならず、内部にはR.id.indeterminateBarが含まれている必要があります。だから、のようになります。

<FrameLayout 
    android:id="@+id/progressView" 
    android:width="match_parent" 
    android:height="match_parent" 
    android:background="#FFFFFF"> 
    <ProgressBar 
     android:id="@+id/indeterminateBar" 
     android:layout_width="wrap_content" 
     style="@android:style/Widget.ProgressBar.Horizontal" 
     android:layout_height="wrap_content" /> 
<FrameLayout/> 
3

私はTurbolinks-のAndroidリポジトリをチェックしていたし、私はあなたのprogressViewオブジェクトは、子ビューとしてR.id.indeterminateBarを持っていないので、この例外の原因であることに気づきました。

かいつまんで、あなたはそれを試みることができる:

あなたactivity_main.xml上:

View progressView = (View) findViewById(R.id.frameLayout); 
TurbolinksSession.getDefault(this) 
    .activity(this) 
    .adapter(this) 
    .view(turbolinksView) 
    .progressView(progressView, R.id.indeterminateBar, 300) 
    .visit(location); 
+0

おかげで働いていた:あなたのMainActivity.java

<FrameLayout android:id="@+id/frameLayout" android:layout_width="wrap_content" android:layout_height="wrap_content"> <ProgressBar android:id="@+id/indeterminateBar" style="@android:style/Widget.ProgressBar.Horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:indeterminate="true"/> </FrameLayout> 

。 – daya

関連する問題