2012-11-12 81 views
0

我創建了一個AlertDialog(編輯文本),但後來我想放插入到一個數組中的值:同一類(共享數據)

void goToPage(){ 

    AlertDialog.Builder alert = new AlertDialog.Builder(this); 
    alert.setTitle("Title"); 
    alert.setMessage("Message"); 
    final EditText input = new EditText(this); 
    alert.setView(input); 
    alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int whichButton) { 
     String value = input.getText().toString(); 
     int value2 = Integer.parseInt(value); 
    // Do something with value! 
    } 
    }); 
    alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int whichButton) { 
    // Canceled. 
    } 
    }); 
    alert.show();   
} 

在同一個班我有此數組:

array[20] 

在同一個班級中,我不能使用value2因爲沒有共享。

如何在一個方法內共享一個數據給整個類?

謝謝!

回答

1

通過將數據傳遞到全局作用域變量中,可以將數據從方法共享到整個類。所以:

public class MyClass { 
int num; //now this is global 

//....everything else 


} 

確保您瞭解範圍在Java中的工作原理。當您在方法和循環中時,範圍發生更改。但全局變量總是可以從課程中的任何地方訪問。唯一的例外規則的情況會很奇怪這樣的:

public class MyClass { 
int num; //now this is global 

    public MyClass(){ 
     num = 1; 
    } 
    public void access(int num) { 
     num = 5; 
    } 
    public void printOut() { 
     System.out.println(num); 
    } 

} 

運行它:

MyClass something = new MyClass(); 
something.access(8); 
something.printOut(); 

INT的價值仍然是1因爲其他實例(在訪問())的num是本地,這意味着全球num不知道它存在。他們是不同的。這就是this關鍵字的用途。但我不會進入它。你絕對可以做研究:)

0

你可以使用「onClick」函數中的數組[20]