为什么setOnTouchListener之后不能工作其他(Android)



为什么setOnTouchListener之后的订单不起作用?

例如:

public class MainActivity extends AppCompatActivity implements View.OnTouchListener {
public RelativeLayout MYLL=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MYLL=(RelativeLayout) findViewById(R.id.MYL);
Toast.makeText(getApplicationContext(), "Begin", Toast.LENGTH_SHORT).show();
MYLL.setOnTouchListener(this);
Toast.makeText(getApplicationContext(), "End", Toast.LENGTH_SHORT).show();
}
public boolean onTouch(View v, MotionEvent event) {
Toast.makeText(getApplicationContext(), "In", Toast.LENGTH_SHORT).show();
return false;//or true 
}

}

激活setOnTouchListener时查看消息"In"但是为什么在消息"In"之后没有跟随另一条消息"End"(In->End(为什么?

OnCreate在示例的开头被调用一次。显示Toast"开始",设置OnTouchListener,然后显示Toast的"结束"。

OnTouchListener在设置后每次触摸时都会调用,而不是在第一次设置时调用。如果您希望在"In"Toast之后调用"End"Toast,则需要在"In(Toast之后从OnTouchListener内部显示Toast。

当活动不是每次都创建时,End将只显示一次,但In将在您触摸该视图时多次显示。如果您想在每次In出现时显示End,请将toast放在In之后,则其他方式的End将只显示一次,即onCreate((。

相关内容

  • 没有找到相关文章

最新更新