2012-08-07 148 views
0
String sel="SELECT "+stdb.sid+"," +stdb.amt+", "+stdb.details+" FROM "+stdb.tname; 
     Cursor c=dobj.rawQuery(sel, null); 
     while(c.moveToNext()){ 
      int id=c.getInt(c.getColumnIndex(stdb.sid)); 
      int amt=c.getInt(c.getColumnIndex(stdb.amt)); 
      String printdetail=c.getString(c.getColumnIndex(stdb.details)); 
      TextView tv1=(TextView)findViewById(R.id.textView1); 

     Log.e("gg",""+amt); //the value of amt comes in logcat 
     tv1.setText(""+amt);//this gives nullpointer exception 

在这里,我想从一个EditText,我能够看到logcat的价值,但值当我尝试打印相同的用的setText(TextView的)我得到一个NullPointerExceptionsqlite的空指针异常

+1

如果amt不为null,则tv1必须为null。 – JesusFreke 2012-08-07 20:26:23

+0

@JesusFreke先生我得到了我在logcat中的edittext中输入的值 – dreamer1989 2012-08-07 20:28:00

+0

正确的,所以当你尝试解除引用'tv1'时,你会得到'NullPointerException'。 'amt'的价值不是问题。 – Argyle 2012-08-07 20:29:31

回答

1

试试这个

if(tv1!=NULL) 
    tv1.setText(""+amt); 
else 
    Log.e("WHOA, this is NULL!!!"); 

,看看它是否打印其他日志。如果是这样,那意味着您的tv1视图没有正确初始化。如果不是,将会看到我们能做些什么。

+0

谢谢先生tv1是问题的根源 – dreamer1989 2012-08-07 20:38:13