我是Java和Android的新手。我有一段代码可用于多种活动,因此我将其移到了自己的库.java文件中。但是,现在我的findViewById返回null,当它们成为具有onCreate()和setContentView()调用的主Activity文件的一部分时,它们用于返回正确的内容。如何使其在图书馆内工作?
从Activity类调用:
helper.popupControl(getListView(),getBaseContext(),“ on”);
库中的代码:
public class Helper extends ListActivity {
public void popupControl (View v, Context context, String on_off) {
Animation aFilm = AnimationUtils.loadAnimation(context, R.anim.fade_in);
aFilm.reset();
View vFilm = (View) v.findViewById(R.id.gray_out_film);
if(vFilm==null) {
Toast maxToast = Toast.makeText(context, "View is null! "+R.id.gray_out_film+", View:"+v.toString(), Toast.LENGTH_LONG);
maxToast.setGravity(Gravity.CENTER, 0, 0);
maxToast.show();
} else {
Toast maxToast = Toast.makeText(context, "View is not null!", Toast.LENGTH_SHORT);
maxToast.setGravity(Gravity.CENTER, 0, 0);
maxToast.show();
}
}
}
最佳答案
呼叫Activity.setContentView(int resID)
之前先呼叫findViewbyId()