我想在布局的任何地方实现点击,但出于某种原因应用程序停止,我不明白为什么。这是我的代码的相关部分
public class MainActivity extends AppCompatActivity {
....
private TextView Issue;
....
private Handler handler = new Handler();
private Runnable runnable = new Runnable() {
@Override
public void run() {
....
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
////here is where I code to touch screen
RelativeLayout rlayout = (RelativeLayout) findViewById(R.id.mainlayout);
rlayout.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
mp.stop();
return true;
}
});
我还尝试了OnClickListener
而不是setOnTouchListener
,但它并没有解决。感谢
答案 0 :(得分:0)
点击你的relativelayout
<RelativeLayout
android:id="@+id/mainlayout"
android:layout_width="match_parent"
android:clickable="true"
android:layout_height="wrap_content"/>
然后使用onclicklistener
rlayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mp.stop();
}
});
答案 1 :(得分:0)
1.别忘了添加setContentView
2.将RelativeLayout
设为全局变量,将在其他方法中使用
3.在setOnClickListener
RelativeLayout
private RelativeLayout rlayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// add setContentView here
setContentView(R.layout.activity_main);
//here is where I code to touch screen
// set rlayout as global variable ,you can use it in other method
rlayout = (RelativeLayout) findViewById(R.id.mainlayout);
rlayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mp.stop();
}
});
}