2017-11-01 1 views
0

In meinem xml Ich habe Fragment:Wie Fragment in Aktivität binden (aus XML)?

<fragment 
     android:id="@+id/brandDetailsFragment" 
     android:layout_width="0dp" 
     android:layout_height="0dp" 
     app:layout_constraintBottom_toTopOf="@+id/brandBottomContainer" 
     app:layout_constraintEnd_toEndOf="parent" 
     app:layout_constraintStart_toStartOf="parent" 
     app:layout_constraintTop_toBottomOf="@+id/brandDetailsToolBar" /> 

in meiner Tätigkeit:

public class BrandDetailsActivity extends AppCompatActivity { 
    @BindView((R.id.brandDetailsFragment)) 
    BrandDetailsFragment brandDetailsFragment; 

    protected void onCreate(@Nullable Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.brand_details_activity); 
      ButterKnife.bind(this); 
     } 

Aber ich Fehler bekommen (zur Laufzeit):

e: BrandDetailsActivity.java:29: error: @BindView fields must extend from View or be an interface. (com.myproject.android.customer.ui.BrandDetailsActivity.brandDetailsFragment) 
e: 

e:  BrandDetailsFragment brandDetailsFragment; 
e:      ^
e: java.lang.IllegalStateException: failed to analyze: org.jetbrains.kotlin.kapt3.diagnostic.KaptError: Error while annotation processing 
at org.jetbrains.kotlin.analyzer.AnalysisResult.throwIfError(AnalysisResult.kt:57) 

Ich weiß, dass Fragment ist nicht erweitern Anzeigen. Aber ich muss Fragment in Aktivität binden. Wie kann ich das machen?

Antwort

0

sollten Sie Fragment auf Aktivität wie folgt hinzufügen, weil Aktivität Fragment getSupportFragmentManager

FragmentTransaction ft = mFm.beginTransaction(); 
    ft.add(fragment); 
    ft.commit(); 
hinzufügen
Verwandte Themen