我目前面临片段问题。 如你所知,在fragment的onViewCreated()方法中,第一个语句是对超类的onViewCreated()方法的调用:
String
但是,上面的语句没有执行,因此,该语句下面的代码根本没有执行,我的应用程序一直在崩溃。我不知道如何解决这个问题。 任何形式的帮助都将非常感激。
提前致谢!
super.onViewCreated(view, savedInstanceState);
Logcat输出:
public class FragmentAddWatchedTVShow extends ListFragment {
private Activity context;
public void setContext(Activity context) {
this.context = context;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag_add_watched_tvshow, container, false);
return view;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
Log.d(AIntroductionScreen.DEBUGTAG, "Entered in onViewCreated");
//The above log statement is executed but after that nothing gets executed
super.onViewCreated(view, savedInstanceState);/***THIS STATEMENT IS NOT EXECUTED***/
/***None of the code below this gets executed***/
String[] optionsString = getResources().getStringArray(R.array.watched_tvshow_options);
List<AddOptionsItem> optionsList = new ArrayList<AddOptionsItem>();
for (int i = 0; i < optionsString.length; i++){
optionsList.add(new AddOptionsItem(optionsString[i]));
}
AdapterAddWatchedTVShow adapter = new AdapterAddWatchedTVShow(context, optionsList);
setListAdapter(adapter);
}
答案 0 :(得分:1)
我终于找到了解决问题的方法!
根据ListFragment信息here:
ListFragment具有由单个列表视图组成的默认布局。但是,如果需要,可以通过从onCreateView(LayoutInflater,ViewGroup,Bundle)返回自己的视图层次结构来自定义片段布局。为此,您的视图层次结构必须包含一个ID为“@android:id / list”的ListView对象(如果它在代码中则列出)
在我的视图层次结构中,我有一个ListView对象,但不是给该对象id:@android:id / list,如上所述,我为该对象分配了一个全新的id。因此,抛出了运行时异常,并且应用程序每次都崩溃。 无论如何,谢谢所有立即回应并试图帮助我的人:)