2016-06-10 67 views
0

我在我的android應用程序中使用ButterKnife庫。它在活動中正常工作。但是當我在Fragment中使用它時,它會在構建項目時給我一個錯誤。這裏是我的代碼:在片段中使用ButterKnife錯誤

package com.foxastudios.stopnosocomials.Fragments; 

public class FragmentObserveeOne extends Fragment { 

    @BindView(R.id.text_obs_one_name) TextView obsName; 

    public FragmentObserveeOne() { 
     // Required empty public constructor 
    } 


    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.fragment_observee_one, container, false); 
     ButterKnife.bind(this,rootView); 

     obsName.setText("TEXT"); 

     return rootView; 
    } 

} 

我的片段位於一個單獨的包中,名爲Fragments。這裏是我得到的錯誤:

Error:(8, 39) error: cannot find symbol class Fragments 
Error:(13, 65) error: package Fragments does not exist 
Error:(27, 59) error: package Fragments does not exist 

回答

2

您的問題是該軟件包包含大寫字母。由於Java文檔描述 - All packages should use lowercase letters.

包名都寫在全部小寫避免與類或接口 名稱衝突。

重命名包fragments應該可以解決您的問題。

最後,請查看最新的Butterknife docs,以瞭解如何正確使用Butterknife與Fragment類,以避免內存泄漏,因爲您的代碼目前不使用Unbinder。文檔的'BINDING RESET'部分應該指向正確的方向。

+0

謝謝。這對我工作:) –

+0

如果這解決了你的問題,請標記我的答案爲接受:)很高興爲你工作。 –