我刚刚介绍了用于字段绑定的Butterknife框架。
我的问题是,在我的一个片段中实现Butterknife时出现以下编译错误,在我使用findViewById()
时工作正常
错误:(52,65)错误:尝试将@BindView用于已绑定的ID 'tvRFCExt'上的3454353。 (com.org.ui.fragments.SummaryFragment.tvRFCElect)
片段
@BindView(R.id.tv_rfc)TextView tvRFCExt;
@BindView(R.id.tv_rfc)TextView tvRFCElect;
@BindView(R.id.rt_bar)RatingBar ratingBarExt;
@BindView(R.id.rt_bar)RatingBar ratingBarElect;
onCreateView(){
mView = inflater.inflate(R.layout.fragment_summary, container, false);
}
fragment_summary.xml包含类似的布局。两者都有评级栏和TextView。
<include
android:id="@+id/viewRatingExtTyres"
layout="@layout/rating_view"></include>
<!-- rating-->
<include
android:id="@+id/viewRatingElecInter"
layout="@layout/rating_view"></include>
包含的布局如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWhite"
android:orientation="horizontal"
android:weightSum="4">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1.2"
>
<TextView
android:id="@+id/tv_Title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_margin="2dp"
android:gravity="center_vertical"
android:paddingLeft="@dimen/margin_10"
android:textColor="@color/gray_text"
android:textSize="@dimen/text_apperance_small" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/tv_Title"
android:layout_height="wrap_content">
<RatingBar
android:id="@+id/rt_bar"
style="?android:attr/ratingBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:max="100"
android:numStars="5"
android:progressTint="@color/colorSubmitBtn"
android:rating="0"
android:saveEnabled="false"
android:stepSize="0" />
</LinearLayout>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="2.6">
<TextView
android:id="@+id/tv_rfc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="@dimen/margin_10"
android:layout_marginTop="@dimen/margin_5"
android:gravity="center_vertical"
android:text="@string/txt_rfc"
android:textColor="@color/gray_text"
android:textSize="@dimen/text_apperance_medium" />
<View
android:id="@+id/line"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/tv_rfc"
android:layout_margin="5dp"
android:background="@color/row_color_text"></View>
<TextView
android:id="@+id/tv_rating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/line"
android:layout_marginLeft="@dimen/margin_10"
android:gravity="center_vertical"
android:text="@string/txt_no_rting"
android:textColor="@color/gray_text"
android:textSize="@dimen/text_apperance_medium" />
</RelativeLayout>
</LinearLayout>
现在这种方法在findViewById()
方法下运行良好。我需要做些什么改变来确保Butterknife框架在这里工作。
答案 0 :(得分:0)
尝试使用此代码:
onCreateView(){
mView = inflater.inflate(R.layout.fragment_summary, container, false);
ButterKnife.bind(this, mView);}