2017-11-17 208 views
0

我的意圖是在每一行中放置4個實例。然而,我仍然得到一個空的對象引用,其內容如下:Android Studio中動態TableView上的NullObjectReference

引起:java.lang.NullPointerException:試圖調用虛函數'void android.widget.TableLayout.addView(android.view.View)'null對象參考

這是公平的說,我開始了,我不控制上下文,所以我不知道這是否有關。我在XML上創建了表格以便使用它(它由一個ID調用)。

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    listadecosas listadecosas = new listadecosas(); 
    TableLayout tablacomida = (TableLayout)findViewById(R.id.table_cosas_seleccion); 


    for(int i=0;i<listadecosas.listacomida.size();i++){ 

     TableRow tr = new TableRow(this); 

     for(int z=0;z<4;z++){ 
      if(listadecosas.listacomida.get(i)!=null) { 
       LinearLayout ll = new LinearLayout(this); 
       ll.setOrientation(LinearLayout.VERTICAL); 
       TextView tx = new TextView(this); 
       ImageView vx = new ImageView(this); 
       vx.setImageResource(listadecosas.listacomida.get(i).getFotico()); 
       vx.setTag(i); 
       vx.setMaxHeight(20); 
       vx.setMaxWidth(20); 
       vx.setOnClickListener(this); 
       tx.setText(Double.toString(listadecosas.listacomida.get(i).getPrecio())); 
       ll.addView(vx); 
       ll.addView(tx); 
       tr.addView(ll); 
       i++; 
      } 
     } 
     tablacomida.addView(tr); 
    } 
} 
+0

的【什麼是一個NullPointerException,如何解決呢?(可能的複製https://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do- i-fix-it) –

回答

0

這些是什麼意思?

TableRow tr = new TableRow(this); 
TextView tx = new TextView(this); 
ImageView vx = new ImageView(this); 

我沒遇到過這...

調試器是正確的,你居然還沒有在你的佈局的任何對象引用。 您必須在您的佈局中創建對象,然後獲取它們的參考。

TextView tx = (TextView)findViewById(R.id.myTextView); 
+0

這些是爲我想放置的每個元素創建的新實例。基本上它就像在LinearLayout中創建圖像和文本,並在每行中創建一個4行線性佈局。 –

+0

你把它們放在哪裏?當他們被創建? –

+0

@ M.M也許你是對的我其實不知道發生了什麼...... –