0
我有一個onTouchListener
將記錄一個接觸點的座標,但將在接觸點的座標存儲爲變量var1
後沉默。在此之後,我想開始另一個onTouchListener
,它將記錄下一個接觸點的座標,並將它們存儲爲變量var2
。我嘗試這是表現在以下.java
文件:沉默,然後重新啓動onTouchListener
.java
文件
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final View touchLayout = findViewById(R.id.touchLayout);
final TextView item1 = (TextView)findViewById(R.id.item1);
final TextView item2 = (TextView)findViewById(R.id.item2);
\\First onTouchListener Begins
touchLayout.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Integer var1x = Integer.valueOf((int) event.getX());
Integer var1y = Integer.valueOf((int) event.getY());
item1.setText("Touch coordinates : " + touchvar1x + " x " + touchvar1y);
touchLayout.setOnTouchListener(null);
return true;
}
});
\\Second onTouchListener Begins
touchLayout.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Integer var2x = Integer.valueOf((int) event.getX());
Integer var2y = Integer.valueOf((int) event.getY());
item2.setText("Touch coordinates : " + touchvar2x + " x " + touchvar2y);
touchLayout.setOnTouchListener(null);
return true;
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
正如你所看到的,我的嘗試是簡單地沉默再啓動另一onTouchListener。但是,這會導致第一個onTouchListener根本不起作用。是否有這種情況發生的原因,是否有可能解決這個問題?
在此先感謝
很酷的想法,你知道我怎麼可能爲3,而不是2擴大呢? – user3616949
查看我的更新回答 – MJ93
很好,謝謝! – user3616949