私はアンドロイドスタジオでコーディングしています。このメソッドの外部で変数totalCuisine ++にアクセスしたいと思います。また、totalCuisinesはclaassでグローバルに宣言されます。つまり、int totalCuisines = 0です。Javaの同じクラスのメソッドの外側のローカル変数にアクセスするには
これは大きなプログラムの一部であるが、主な問題は、Uの前にここにある、すべてのプログラムの残りの部分が正常に
public class CuisinesFilterDialog extends DialogFragment{
int totalCuisines = 0;
ArrayList<CuisinesModel> data = new ArrayList<>();
{
private void updateFilterStats() {
ArrayList allData = new ArrayList();
if(data != null && data.size() > 0){
for(int i=0; i<data.size(); i++){
if(data.get(i).isSelected()) {
allData.add(data.get(i).getName());
totalCuisines++;// I want to access it outside this method
}
}
DataStore.putString(getContext(), ZConstants.SortFilter.KEY_EXTRAS_FILTER_CUISINES,
TextUtils.join(",",allData));
}else{
DataStore.putString(getContext(), ZConstants.SortFilter.KEY_EXTRAS_FILTER_CUISINES,
ZConstants.EMPTY_STRING);
}
dismiss();
}
}
totalCuisines ++は変数ではありません。 totalCuisinesはプライベートクラスの変数で、++は1回の増分です。クラスの外部からアクセスするには、totalCuisinesをpublic(public int totalCuisines = 0)にするか、またはprivate関数をインクリメントするpublic関数incrementTotalCuisines()を作成します。 totalCuisinesはこのメソッドの外部でアクセス可能であることに注意してください。他のクラスメソッドはこの変数を変更できます。このクラスの外からはアクセスできません。 – JohannisK