2016-09-29 59 views

回答

1

这将是更好,如果你能提供源代码。

要在Button上监听事件,您必须为其设置OnClickListener。例如:

public class MainActivity extends AppCompatActivity implements View.OnClickListener { 

private Button button; 
private boolean isStopWatchRunning=false; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    button=(Button)findViewById(R.id.button); 

    button.setOnClickListener(this); 


} 


@Override 
public void onClick(View v) { 
    toggle(); 
} 

private void toggle() { 
    if(isStopWatchRunning){ 
     //Stop StopWatch 
    }else{ 
     //Start StopWatch 
    } 
} 
} 
+0

嗨,王子,谢谢你的时间。然而,我的问题涉及耳机按钮事件,而不是常规事件。 – palmering

0

您可以使用MediaButtonReceiver来接收耳机按钮单击。这与MediaSessionCompat一起工作。您需要注册一个服务,并覆盖onStartCommand()

private MediaSessionCompat mMediaSessionCompat = ...; 
public int onStartCommand(Intent intent, int flags, int startId) { 
    MediaButtonReceiver.handleIntent(mMediaSessionCompat, intent); 
    return super.onStartCommand(intent, flags, startId); 
} 

MediaSessionCompat.Callback你必须提供为好,有方法onPause()onStart()onStop()您可以使用您的实现。

但是你必须考虑你的用例,因为你放弃了对这个媒体的控制。相反,您也可以查看MEDIA_BUTTON操作并自行实施您的行为。

+1

嗨@tynn,谢谢你的帮助。我已经在developer.android.com上看到过这些东西,但不幸的是我没有足够的编程知识来编写代码。我正在寻找一个准备添加剩余代码的“按键”事件示例。 – palmering