2013-04-26 45 views
0

使用我有这样上下文关系中举杯

package collfw; 

public class A { 
    int Eid; 
    Context c1; 

    public void setEid(int id) { 
     if (id < 0) { 
      Eid = 0; 
     } else { 
      Eid = id; 
     } 
    } 

    public int getEid() { 
     return Eid; 
    } 

    public contentvalues adddata() 
    { 
     contentvalues cv=new contentvalues() 

     cv.put(ID,getEid()); 

     return cv; 
    } 

    public void retrivedata() { 

     cursor c = db.rawquery("select * from employee"); 

     **Toast.maketext(c1, getEID, toast.Long_SHORT).show();** 

    } 
} 

这里面包是给我的代码错误和logcat的显示的println不能为空,如果到位C1的,如果我使用“上下文”,那么,不接受, 任何人都可以请解释我什么是背景,我怎样才能在这里使用它。

回答

1

你必须初始化C1。那么只有它会起作用。

public A(Context context) { 
     c1 = context;  
    } 

因为吐司就像一条消息,它将显示在活动上。所以你必须初始化你的context与你的activity的背景

我希望这会帮助你。

+0

感谢gunaseelan ......但是在android中上下文的重要性..你可以请我作为一个新手,并尝试自己学习 – Siva 2013-04-26 05:56:39

+0

我感谢你的有趣。但是你试图自己找到它。为什么因为总是有一个问题会发生在你试图向某人求助时“你试过了什么?”。所以总是你应该回答这个问题。无论如何,你的问题的答案是[link1](http://stackoverflow.com/questions/3572463/what-is-context-in-android)和[link2](http://developer.android.com/reference/安卓/内容/ Context.html)。 – Gunaseelan 2013-04-26 06:06:40

+0

感谢Gunaseelan ...我想了很多答案,可能需要一些时间让我抓住机器人无论如何感谢您的建议 – Siva 2013-04-26 06:13:41

0

使用,

Toast.makeText(getApplicationContext(), getEID, Toast.Long_SHORT).show(); 
+0

只是单挑:由于长度的原因,此答案被自动标记为低质量。你可以编辑添加一点点?解释它做了什么,或者它如何解决问题? – 2013-04-26 06:04:31

0
Toast.maketext(c1, getEID, toast.Long_SHORT).show(); 

C1可能是未设置。至少我没有看到它在你的课堂上。 添加这样的事情:

public A(Context ctx){ 
    c1 = ctx; 
} 
+0

感谢Lazy Ninja ....但是这张吐司会在开幕式上显示,因为我不会在主要活动中写这个类,如果可能的话,请给我一些关于什么是上下文以及它是如何工作的想法。 – Siva 2013-04-26 05:53:47

0

使用如下,如果你从其他活动中直接调用retrievedata方法或归类

public void retrivedata(Context c1) { 

     cursor c = db.rawquery("select * from employee"); 

     **Toast.maketext(c1, getEID, toast.Long_SHORT).show();** 

    } 

否则与上下文作为参数创建A类构造函数。

Context c1; 
Public A(Context ccc) 
{ 
c1=ccc; 
} 

然后用C1无论在A类

希望这会帮助你。