0

Androidでは、次のことを達成する必要があります:

入力したパスワードが で正しい場合funToEnterPassword();。どのメソッドからこのメソッドを呼び出したのかをここで知るにはどうすればよいでしょうfunctionABC();か。functionXYZ();

public void fun1(){
 funToEnterPassword();
 funcABC();
}


public void fun1(){
 funToEnterPassword();
 functionXYZ();
}


public void funToEnterPassword(){
 //Enter password in popup
 //If password is correct how could I know here from which method I got called this method so I can continue with functionABC() or functionXYZ();
} 
4

3 に答える 3

2

メソッドタイプをブール値または変数として宣言し、必要に応じてその値を設定するためにブール値を使用できます。単純。:)

于 2012-12-27T06:48:07.600 に答える
1

次の方法を試してください。

public void fun1(){
   boolean result = funToEnterPassword();
   if (result) 
      funcABC();
}

public void fun2(){
   boolean result = funToEnterPassword();
   if (result)
      functionXYZ();
}


public boolean funToEnterPassword(){

   pwdResult = false;
   //Enter password in popup
   //If correct pwd
   pwdResult = true;
   //If password is correct how could I know here from which method I got called this             method so I can continue with functionABC() or functionXYZ();

   return pwdResult;
}
于 2012-12-27T06:57:16.277 に答える
0

通常、配列の3番目の項目は、現在のクラスとメソッドの値を保持する必要があります。以下のコードは役に立つかもしれません!

StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
    if(stackTraceElements != null && stackTraceElements.length > 0){
        if(stackTraceElements.length > 2){
            String methodName = stackTraceElements[2].getMethodName();
            String className = stackTraceElements[2].getClassName();
            Log.e(className, methodName);
            Toast.makeText(this, className + " " + methodName, Toast.LENGTH_LONG).show();
        }

    }
于 2012-12-27T09:40:23.873 に答える