2014-12-23 38 views
0

我在OnCreate方法中獲取transaction_amount變量從getIntent()通過Android活動類訪問創建變量

String transaction_amount = getIntent().getStringExtra("transaction_amount"); 

我想在OnCreate方法之外訪問這個變量。 喜歡的東西,

public class PayActivity extends ActionBarActivity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     String transaction_amount = getIntent().getStringExtra("transaction_amount"); 
    } 

    protected void my_function(){ 
     // I want transaction_amount here..... 
    } 
} 
+1

您可以從任何地方調用getIntent,除非此活動是由意圖啓動的。一項活動可以無意創建。所以最好的做法是檢查它是否爲空,然後使用它 – Adem

回答

1

您可以使用全局變量:

public class PayActivity extends ActionBarActivity { 
    String value; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     value = getIntent().getStringExtra("transaction_amount"); 
    } 
    public void yourFunction() { 
     // You can acces value here 
    } 

// your activity here.... 
} 
0

創建TRANSACTION_AMOUNT變量爲類變量,然後初始化它在OnCreate

public class PayActivity extends ActionBarActivity { 
private String transaction_amount; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
     transaction_amount = getIntent().getStringExtra("transaction_amount"); 
} 

protected void my_function(){ 
    // I want transaction_amount here..... 
} 

}

0

將交易金額保持爲全局變量,如果您需要整個類中的變量,或者如果你想在方法中存取該變量,則將該變量作爲參數發送給該函數,並從oncreate調用該函數。

0

聲明一個全局變量並將其初始化爲onCreate中的transactionamount。然後在任何地方使用全局變量。

public class PayActivity extends ActionBarActivity { 
    String s; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    s = getIntent().getStringExtra("transaction_amount"); 
    } 

    void anyFunction() { 
    // use the string s here now 

    } 

    }