2016-11-10 127 views
0

我在空對象引用上嘗試調用虛擬方法void android.widget.TextView.setText(java.lang.CharSequence)'時收到空指針豁免錯誤。無法將雙精度值作爲字符串轉換爲textview

public class MainActivity { 
    TextView servingqueue; 
} 

這是的onCreate

DatabaseReference mRootRef = FirebaseDatabase.getInstance().getReference(); 
DatabaseReference mServingQueue = mRootRef.child("ServingQueue"); 

servingqueue = (TextView) findViewById(R.id.queueServing); 

mServingQueue.addValueEventListener(new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
     Double number = dataSnapshot.getValue(Double.class); 
     servingqueue.setText(String.valueOf(number)); 
    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) { 

    } 

錯誤權出現在

servingqueue.setText(String.valueOf(number)); 

它只是不希望從火力地堡值傳遞給我的TextView。加載活動後,我的應用程序即將關閉。

+0

是它'servingqueue'或'mServingQueue'? – nandsito

+0

'mServinQueue'引用了我以前的代碼,它是 'DatabaseReference mServingQueue = mRootRef.child(「ServingQueue」);' –

+0

異常堆棧跟蹤? –

回答

0

首先鑄造雙加倍(原語),然後將它轉換爲串

Double number = dataSnapshot.getValue(Double.class); 
double d=number.doubleValue(); 
     servingqueue.setText(String.valueOf(d)); 
+0

這將如何幫助? – Henry

+0

轉換後仍然出現相同的錯誤。 –

+0

然後檢查數字(Double)是否爲空? – Onkar

相關問題