2017-04-04 84 views
-1

我創建了一個簡單的「應用」把值從文本到一個數組,它似乎並沒有工作。我不知道爲什麼..嘗試寫入到零數組機器人工作室

public class Register extends AppCompatActivity { 
    String[] data = new String[2]; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_register); 
     gotoReg(); 
    } 
    public void gotoReg() { 
     Button register = (Button) findViewById(R.id.Submit); 
      register.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 
        data[0] = "ss"; 
        data[1] = "dd"; 
       } 
      } 
     ); 
    } 
} 

從這個代碼中,我得到的錯誤:

java.lang.NullPointerException: Attempt to write to null array 

我做了幾乎相同的代碼在另一個應用程序和它的工作..看來真是奇怪,我...

+0

你可以嘗試初始化你的'數據=新的字符串[2];'在你的'onClick'方法? –

+0

有更多的代碼可以操縱你的會員嗎?因爲它不是私人的,也沒有設置的,所以可以通過從外部訪問來輕鬆設置它。第二個問題:當你在「onCreate」中調試時,這個成員是否正確設置? –

+0

我不認爲他應該在onClick方法中初始化它,因爲它通常是不好的做法(在性能方面)做重複初始化。但是,是的,他至少應該嘗試在gotoReg()方法中做到這一點,因爲數組顯然沒有正確初始化。 – leonz

回答

0

只要把你的代碼來獲得setContent視圖後的按鈕引用,然後,你可以n分配值。

你已經檢查了按鈕的ID?

+0

沒有工作.... –

-1

嘗試

data = new String[2]; 

添加到您的gotoReg()方法,設置的onClick監聽器前。

0

沒關係,謝謝大家,剛剛重新打開Android工作室,一切正常。 浪費它幾個小時呃