2017-03-07 166 views
0

我的導航抽屜有一個基本活動。當活動實現onclick監聽器時,BaseActivity onclick監聽不工作

這款導航抽屜具有的onclick聽衆:

public class BaseActivity extends AppCompatActivity implements View.OnClickListener{ 

...

@Override 
public void onClick(View v) { 
    switch(v.getId()) { 
     case R.id.Pic: 
      Intent intent = new Intent(this, P_Activity.class); 
      this.startActivity(intent); 
      break; 
    } 
} 

它的工作原理很好,當它擴展BaseActivity類有沒有點擊收聽了。 但如果是這樣的:

public class Upload extends BaseActivity implements View.OnClickListener { 

上baseactivity點擊將無法正常工作。 任何想法爲什麼以及如何解決?

+0

mPic.setOnClickListener(本);在BaseActivity中調用這一行? –

+0

是的,'image.setClickable(true); image.setOnClickListener(this);' –

回答

1

您正在重寫類Upload中的方法public void onClick(View v)。在方法Upload.onClick(View v)呼叫super

public class Upload extends BaseActivity implements View.OnClickListener { 
    @Override 
    public void onClick(View v) { 
     if (something) { 
     // do something 
     } else { 
      super.onClick(v); 
     } 
    } 
} 
+0

非常感謝!我現在就試試吧! –

+0

我在'switch(v.getId()){cases} super'之後添加'super'並且它可以工作。它也可以嗎? –

+0

這取決於你,如果它的工作方式如你所料,那沒關係。 – betorcs