2015-08-14 32 views
-2

OnCreate中我把Android的列表視圖通過ID空指針

ListView listView = (ListView) findViewById(R.id.listView3); 

下面是代碼我有我的ListView越來越空指針應用程式當由於某種原因,從下面的代碼我的列表視圖中沒有找到找到,請告訴我,我是什麼做

@Override 
     protected void onPostExecute(Void result) { 

      parsedHtmlNode.setText(htmlContentInStringFormat); 
      String input = amarrdatta; 
      String dayyz = dayys; 
      dayyz = dayyz.replace(" ", System.getProperty("line.separator")); 
      input = input.replace(" ", System.getProperty("line.separator")); 
      // textViewwww.setText(dayyz +" " +input); 
      ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>(); 
      count++; 
      temp=temp+count; 
      HashMap<String,String> temp=new HashMap<String, String>(); 
      temp.put(FIRST_COLUMN, dayyz); 
      temp.put(SECOND_COLUMN, input); 
      temp.put(THIRD_COLUMN, "22"); 
      temp.put(FOURTH_COLUMN, "Unmarried"); 
      list.add(temp); 
      ListViewAdapter adapter=new ListViewAdapter(MainActivity.this, list); 

      listView.setAdapter(adapter); // getting nullpointer here listview 

     } 
    } 

的Java空指針仍然

@Override 
     protected void onPostExecute(Void result) { 

      parsedHtmlNode.setText(htmlContentInStringFormat); 
      String input = amarrdatta; 
      String dayyz = dayys; 
      dayyz = dayyz.replace(" ", System.getProperty("line.separator")); 
      input = input.replace(" ", System.getProperty("line.separator")); 
      // textViewwww.setText(dayyz +" " +input); 
      ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>(); 
      count++; 
      temp=temp+count; 
      HashMap<String,String> temp=new HashMap<String, String>(); 
      temp.put(FIRST_COLUMN, dayyz); 
      temp.put(SECOND_COLUMN, input); 
      temp.put(THIRD_COLUMN, "22"); 
      temp.put(FOURTH_COLUMN, "Unmarried"); 
      list.add(temp); 
      ListViewAdapter adapter=new ListViewAdapter(MainActivity.this, list); 
      ListView listView = (ListView) findViewById(R.id.listView3); 
      listView.setAdapter(adapter); 

     } 
+1

你可以把你的onCreate()代碼? – Andro

+1

發佈您的佈局xml以及。 –

+2

我不是100%確定,但我認爲你沒有做ListView listview gobal。你只能在onCreate()中「使用」listview,就像你做的那樣。只需將ListView listView =(ListView)findViewById(R.id.listView3);''轉換爲'onPostExecute()',並且應該修復它 – PlatinTato

回答

0

您沒有初始化listView變量。

你做了ListView listView = (ListView) findViewById(R.id.listView3);onCreate()。但是,通過此代碼,您重新聲明listView變量,它將隱藏全局listView,並且全局listView保持爲空。

刪除類型在onCreate()

listView = (ListView) findViewById(R.id.listView3); 

或移動完整的線onPostExecute()

+0

當我添加oncreate listView =(ListView)findViewById(R.id.listView3); far far left listview變成紅色? –

+0

@JeanLee它意味着你沒有全局的'listView'變量。聲明它或將類型的行移到'onPostExecute()'。 –

+0

請檢查代碼主帖我編輯stil probs? –

0

嘗試移動ListView listView;的的onCreate外:

ListView listView; 

protected void onCreate(Bundle savedInstanceState) { 

    listView = (ListView) findViewById(R.id.listView3); 
} 

@Override 
protected void onPostExecute(Void result) { 

    parsedHtmlNode.setText(htmlContentInStringFormat); 
    String input = amarrdatta; 
    String dayyz = dayys; 
    dayyz = dayyz.replace(" ", System.getProperty("line.separator")); 
    input = input.replace(" ", System.getProperty("line.separator")); 
    // textViewwww.setText(dayyz +" " +input); 
    ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>(); 
    count++; 
    temp=temp+count; 
    HashMap<String,String> temp=new HashMap<String, String>(); 
    temp.put(FIRST_COLUMN, dayyz); 
    temp.put(SECOND_COLUMN, input); 
    temp.put(THIRD_COLUMN, "22"); 
    temp.put(FOURTH_COLUMN, "Unmarried"); 
    list.add(temp); 
    ListViewAdapter adapter=new ListViewAdapter(MainActivity.this, list); 

    listView.setAdapter(adapter); // getting nullpointer here listview 
} 
+0

我不得不說這是wiered,我在mainactivity2中的所有代碼都工作,但現在我正在將代碼轉移到mainactivity,並給出這個概率? –

+0

@JeanLee您確定您在mainactivity佈局中使用ID爲'listView3'的視圖嗎? –

+0

YUP我有它我只是不明白爲什麼它的messiing約 –

0

正確檢查你的XML ListView ID,然後你需要使用如下

片段或其他佈局膨脹

View view = inflater.inflate(R.layout.layoutname, container, false); 

ListView listView = (ListView) view.findViewById(R.id.listView3); 

活動

ListView listView = (ListView) findViewById(R.id.listView3); 
+0

當我添加這oncreate ListView listView =(ListView)findViewById(R.id.listView3);第二個listview文本變得很亮意味着listview onpostcreate沒有影響爲什麼 –

0

我想你還沒有放置在您的活動class.Make裏面你的AsyncTask確保您的AsyncTask是一個內部類的活動