android 没有为类型 CatchService 定义方法 findViewById(int)

我自定义了一个服务,负责弹出通知的。而通知的界面是自定义的。并且通知界面上会有一个按钮。我现在想获取这个按钮。我知道只有继承了activity,才能使用findViewB... 我自定义了一个服务,负责弹出通知的。而通知的界面是自定义的。并且通知界面上会有一个按钮。我现在想获取这个按钮。我知道只有继承了activity,才能使用findViewById方法(public class MainInfo extends Activity)。我如何在服务类中定位这个button呢?

public class CatchService extends Service{
public void onCreate() {
btnShowInfo = (Button)findViewById(R.id.btnShowInfo); //错误提示:没有为类型 CatchService 定义方法 findViewById(int)
}
}
展开
 我来答
双四别阴我
推荐于2016-08-22 · TA获得超过2282个赞
知道大有可为答主
回答量:1250
采纳率:57%
帮助的人:1190万
展开全部

findViewById()

通常是activity和dialog可以直接这样用,因为本身有setContentView(),

父类设置了此方法

/**
 * Finds a view that was identified by the id attribute from the XML that
 * was processed in {@link #onCreate}.
 *
 * @return The view if found or null otherwise.
 */
 public View findViewById(int id) {
     return getWindow().findViewById(id);
 }

Service是没有视图的,不能直接使举镇用findViewById,如果你inflate了橘判一个View对象,可以写成view.findViewById,view就是你加载的View对圆答改象

lflldjs
2013-10-23 · TA获得超过118个赞
知道小有建树答主
回答量:194
采纳率:0%
帮助的人:165万
展开全部
服务是不可见的。圆野侍当然不能有Button,弹出通知以后点击通知进脊消入的应该是橘吵activity啊,怎么还用服务呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xupeiying
2013-10-23 · TA获得超过468个赞
知道小有建树答主
回答量:553
采纳率:0%
帮助的人:566万
展开全部
findViewById是View类的方法,你可以得到 【自尘乱巧定义的通知的界面】,通过通知的View得到Button。陪枣

另外, 不应该在Service里派键操作UI的东西。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
602888849
推荐于2016-01-11 · TA获得超过158个赞
知道小有建树答主
回答量:206
采纳率:100%
帮助的人:103万
展开全部
LayoutInflater mInflater = LayoutInflater.from(getApplicationContext());
View view = mInflater.inflate(R.layout.main,
null);/首备/和郑你自定义者棚毁View的布局文件
Button btnShowInfo = (Button)view.findViewById(R.id.btn);
试试这个
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式