2012-03-20 15 views
15

Ekranda görüntülemem gereken bir parçam var. UI öğelerini enjekte etmek için InjectView'u kullanabilmek istiyorum. InjectView, etkinlikler (xml) onCreate sırasında ayarlandığından, ancak görüntülerin onCreatView üzerinde ayarlandığından, etkinliklerde iyi çalışır.Android & RoboGuice - Fragmentin görüşlerini mi enjekte ettiniz?

Bu nedenle InjectView öğelerini fragmanlarda kullanmanın bir yolu var mı? Ben her maddeyi bulmak için findViewbyId kullanabilirsiniz biliyor, ama yerine

public class ProfileFragment extends RoboDialogFragment { 

    @InjectView(R.id.commentEditText) 
    protected EditText commentEditText; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

      // I get a null pointer exception here 
      commentEditText.setText("Some comment"); 

    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.profile , container, false); 

      // I get a null pointer exception here 
     commentEditText.setText("Some comment"); 

     return view; 
    } 

} 
+0

sırasında olur InjectView kullanmak Roboguice sorunu (http://code.google.com/ yıldızı Lütfen p/roboguice/issues/detail? id = 160 & q = contentview) geliştiricilerin bu eklenmesi gerektiğini göstermek için – Diederik

cevap

27

Enjeksiyon onViewCreated

@Override 
public void onViewCreated(View view, Bundle savedInstanceState) { 
    super.onViewCreated(view, savedInstanceState); 

    commentEditText.setText("Some comment"); 
} 
+2

biz 2.0 sürümü için şimdi daha iyi belgeler almaya çalışacağız – emmby

+0

@emmby Dokümanlar ile herhangi bir şans? Şu an bir süreliğine serbest bırakıldı ve dokümanlar hala en azından iyi ve tam bir Fragmanlar örneği için eksik. –

+0

Şu anda doküman üzerinde çalışıyoruz. daha iyiye gidiyorlar, ama hala orada değil: https://github.com/emmby/roboguice/wiki – emmby

İlgili konular