簡體   English   中英

布爾值的常量偵聽器-Java Android

[英]Constant listener for Boolean - Java Android

在我的Android應用程序中,我正在嘗試檢查布爾值是否已更改,以及是否已經執行了某些操作。 但這並不是經常檢查。 我相信我需要一個聽眾,但是我不知道如何組織它或放在哪里。 我在網上看過,實際上只能找到onClick等,沒有布爾值。

這是我到目前為止的內容:

public boolean gameStartTouch = false;
public boolean titleVisible = true;
/*
public boolean isJumping = false;
public boolean isGrounded = false;
*/

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_app_main);    
}

@Override
public boolean onTouchEvent(MotionEvent event) {
    int eventaction = event.getAction();

    switch (eventaction) {
    case MotionEvent.ACTION_DOWN:
    if (gameStartTouch == false) {

        gameStartTouch = true;
        titleVisible = false;
    }
    break;
    }
    return true;
}

這是偵聽器中需要執行的操作:

ImageView titleView = (ImageView) findViewById(R.id.titleImg);
ImageView startNotifView = (ImageView) findViewById(R.id.startNotifImg);

if (titleVisible == false) {    
    titleView.setVisibility(View.INVISIBLE);
    startNotifView.setVisibility(View.INVISIBLE);
} else {
    titleView.setVisibility(View.VISIBLE);
    startNotifView.setVisibility(View.VISIBLE);
}

提前致謝。 在這些情況下,我找不到很多相關信息。

對您的代碼進行一些修改,像這樣進行管理

@Override
public boolean onTouchEvent(MotionEvent event) {
    int eventaction = event.getAction();

    switch (eventaction) {
    case MotionEvent.ACTION_DOWN:

        titleView.setVisibility(View.INVISIBLE);
        startNotifView.setVisibility(View.INVISIBLE);
        break;
    }
    return true;
}

我會將您的findViewById()調用放在onCreate上,以避免不必要的資源獲取。 我唯一看到的是您實際上只交換了一次布爾值。 您是否還打算在第一次觸摸后將gameStartTouch重置為false並將titleVisible重置為true?

@fire_head您可以簡單地將titleViewstartNotifView聲明為您的類私有成員。 像這樣在onCreate方法中初始化它們:

ImageView titleView = (ImageView) findViewById(R.id.titleImg); 
ImageView startNotifView = (ImageView) findViewById(R.id.starting);

並在handleGameStartTouch方法中訪問它們。

抱歉,我無法將其發布為答案,因為我無法評論以上答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM