2013-02-26 79 views
0

按鈕的父ID在我的應用程序哈瓦一個的LinearLayout和其子鍵。觸摸按鈕後,我需要知道id的linearlayout。這裏是我的代碼找出機器人

private final class MyTouchListener implements OnTouchListener 
{ 

    public boolean onTouch(View view, MotionEvent motionEvent) 
    {    
     if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) 
     { 
      View v = ((View)view.getParent()); 
      int id = v.getId(); 
      Toast.makeText(getApplicationContext(), id, Toast.LENGTH_SHORT).show(); 

我得到android.content.res.Resources $ NotFoundException。我怎樣才能得到linearlayout的id。謝謝....

回答

1

嘗試使用:

View v = ((View)view.getParent()); 
int id = v.getId(); 
Toast.makeText(getApplicationContext(), String.valueOf(id), Toast.LENGTH_SHORT).show(); 

這將其存儲在R.java整數格式敬酒你的線性佈局的ID。

您當前的實施方式使您的Toast.makeText()匹配makeText(Context, int, int)方法簽名,該方法簽名旨在與R.string.*元素一起使用。但是,由於您向它傳遞了一個要求字符串標識符的R.id.*元素,因此使用該元素來嘗試在strings.xml中查找匹配的字符串。當它找不到一個時,它會拋出Resources$NotFoundException

+1

是的,那是我的錯[email protected] Sood – andDev 2013-02-26 11:22:03

+0

現在我需要與ID一起工作,但不能得到ID的整數值@Raghav Sood – andDev 2013-02-26 12:34:20

+0

呃,如果你要烘烤它,那麼你已經有了整數值。只需使用存儲在'id'當你需要它的價值 – 2013-02-26 12:36:18