2016-10-10 38 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文件和日誌。

相關問題