2014-10-30 43 views
-3

是否可以從另一個void訪問ArrayList,然後在Java中生成它? (我在做Android應用程序,我沒有砍伐大量的代碼)如何從其他無效訪問ArrayList然後它在Java中生成?

package com.example.example; 

import ...; 

public class Example { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) {   
//android things here... 
     ArrayList<String> questionid = new ArrayList<String>(); 
     questionid.add("1"); 
     questionid.add("2"); 
     questionid.add("3"); 
     questionid.add("4"); 
     questionid.add("5"); 
     questionid.add("6"); 
     questionid.add("7"); 
     questionid.add("8"); 
     questionid.add("9"); 
     questionid.add("10"); 
     Collections.shuffle(questionid, new Random(System.nanoTime())); 
} 

    private void newQuestion() { 
     questionid.get(0); //<-- It doesn't find the arraylist questionid 
     } 
    } 

    private void setNewQuestion() { 
     TextView questionnumberlabel; 
     questionnumberlabel = (TextView) findViewById(R.id.questionnumber); 
     if (questionnumberlabel.getText().equals("1")) { 

     } 
    } 

} 

有沒有一種方法,使在類訪問處處ArrayList的?再次,我正在開發一個android應用程序,所以我確實減少了一些代碼。

+2

你是什麼意思的「其他空白」?你能發佈一些相關的代碼嗎? – Eran 2014-10-30 06:44:11

+4

如果你沒有時間寫一個體面的問題,你不應該發表任何問題。等到你*有*時間,然後閱讀http://tinyurl.com/stack-hints(聽起來你應該有一個實例變量,你現在有一個局部變量,但這只是一個猜測時刻...) – 2014-10-30 06:45:37

+0

@JonSkeet我編輯了這個問題。 – nelson2tm 2014-10-31 11:08:14

回答

1

您目前在onCreate方法中將questionid聲明爲局部變量。該變量僅在該方法調用期間存在。你想要一個變量變量 - 即某些是對象狀態的一部分,並且在所有方法中都可用。

public class Example { 
    private ArrayList<String> questionid; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) {   
     questionid = new ArrayList<String>(); 
     questionid.add("1"); 
     ... 
    } 

    private void newQuestion() { 
     String firstQuestion = questionid.get(0); 
     ... 
    } 
} 
相關問題