2016-10-10 77 views
0

我有一个包含ListView的片段的活动,应用程序正在建设和部署没有问题,但我得到APP HAS STOPPED工作消息,当我填充listView。不幸的应用程序已经停止后,成功的构建和部署

如果我用适配器注释掉listview数量,应用程序运行没有任何问题。

这是代码:

public class MainActivityFragment extends Fragment { 
    private ArrayAdapter<String> weather_adapter; 

    public MainActivityFragment() { 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.fragment_main, container, false); 
     String[] data = { 
       "item1", 
       "item2" 
}; 
     List<String> list = new ArrayList<String>(Arrays.asList(data)); 

     weather_adapter = new ArrayAdapter<String>(
       getActivity(), 
       R.layout.l_list_item, 
       R.id.list_view, 
       list); 

     ListView welist = 
       (ListView)rootView.findViewById(R.id.list_view); 
     wlist.setAdapter(adapter); 

     return rootView; 
    } 
} 

你有任何想法如何检测什么是错的,因为堆栈跟踪犯规引发任何错误或警告?

+2

R.layout.l_list_item中的TextView的ID是R.id.list_view?我不这么认为。检查您的新ArrayAdapter ... –

+2

您正在收到运行时异常。如果应用程序成功构建,则无关紧要。有*应该*是一个logcat。 http://stackoverflow.com/questions/23353173/uncomfort-myapp-has-stopped-how-can-i-solve-this –

+0

@EugenPechanec 这是这个问题的解决方案,但我仍然感兴趣的方式来获取编译时错误。 Logcat不会引发任何错误。 – Timmy

回答

1

在你的阵列适配器初始化,

weather_adapter = new ArrayAdapter<String>(
      getActivity(), 
      R.layout.l_list_item, 
      R.id.list_view, 
      list); 

第三个参数应该是textViews ID(其中放置字符串列表)

将其更改为,

weather_adapter = new ArrayAdapter<String>(
      getActivity(), 
      R.layout.l_list_item, 
      R.id.textView, 
      list); 

你可以在您的R.layout.l_list_item布局中找到此ID。

如果没有解决。提供你的XML文件和日志。

相关问题