2014-02-27 35 views
0

要求查找ImageView的被點擊或不安卓

我想應該可以點擊imageview的改變方向之後,如何可以找到圖像視圖被點擊或不改變方向之前?

+0

設置標誌變量,並將其設置爲0或1,如果點擊它,然後1否則爲0則剛剛獲得標誌的價值和檢查。 – InnocentKiller

回答

0

您可以嘗試在onOrientationChange這個標誌設置一個布爾標誌onClick

boolean clicked = false; 

imgView.setOnClickListener(new OnClickListener() { 
    public void onClick(View v) { 
     clicked = true; 
    } 
}); 

檢查。希望能幫助到你。

0

使用共享偏好持有點擊事件或使用切換操作 這裏全局變量,我使用共享偏好:

SharedPreferences pref = getApplicationContext().getSharedPreferences(
            "any_prefname", MODE_PRIVATE); 

     ImageView imgFavorite = (ImageView) findViewById(R.id.favorite_icon); 
     imgFavorite.setClickable(true); 
     imgFavorite.setOnClickListener(new OnClickListener() { 
        @Override 
        public void onClick(View v) { 

          Editor editor = pref.edit(); 
          editor.putBoolean("key_name", true); 
          // Storing boolean - true/false 
          editor.commit(); 

         } 

       }); 

和onOrientationChange檢查使用

pref.getBoolean("key_name", null); 

,並再次獲得布爾 重置值爲

    Editor editor = pref.edit(); 
        editor.putBoolean("key_name", false); 
        // Storing boolean - true/false 
        editor.commit(); 
+0

這不是這樣做的首選方式。更好的選擇是使用下面的方法。 –

1

您可以在活動中定義一個本地變量,以便在您旋轉手機並稍後恢復時保存。事情是這樣的:

private static final String CLICKED_KEY = "clicked_key"; 
private boolean clicked = false; 

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    if (savedInstanceState != null) { 
     clicked = savedInstanceState.optBoolean(CLICKED_KEY, false); 
    } 
    if (clicked) { 
     // do something 
    } 

    imgView.setOnClickListener(new OnClickListener() { 
    public void onClick(View v) { 
     clicked = true; 
    } 
    }); 

}

@Override 
protected void onSaveInstanceState(Bundle outState) { 
    super.onSaveInstanceState(outState); 
    outState.putBoolean(CLICKED_KEY, clicked); 
}