2017-10-04 44 views
0

所以,我只是試圖有一個數組的值,並有一個textview「填充」與我指定一個按下按鈕。爲什麼在嘗試從數組中插入字符串到TextView時,應用程序崩潰?

public class MainActivity extends AppCompatActivity { 

String arr[]={"a","b","c","d","e"}; 

TextView tv = (TextView)findViewById(R.id.tv); 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

} 

private void setLaunchBtn() { 
    Button btn = (Button) findViewById(R.id.btn1); 
    btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      tv.setText(arr[2]); 
     } 
    }); 
} 

出於某種原因,我不能讓應用程序在所有推出,即使我嘗試tv.setText("inserttext");

+0

分享你的錯誤日誌和初始化裏面TextView的創建 –

回答

0

我認爲你不能找到在視圖聲明中的觀點,你必須找到意見後的setContentView()方法,就像這樣:

public class MainActivity extends AppCompatActivity { 

String arr[]={"a","b","c","d","e"}; 

TextView tv; // Remove findViewById 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    tv = (TextView)findViewById(R.id.tv); // Try with this 
    tv.setText("Hello"); 
    setLaunchBtn(); // You need to call this method to execute it 
} 

private void setLaunchBtn() { 
    Button btn = (Button) findViewById(R.id.btn1); 
    btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      tv.setText(arr[2]); 
     } 
    }); 
} 

希望它能幫助,

+0

應用程序是LA現在整理,但按鈕似乎不做任何事情,無論是數組和純文本。 – PQuix

+0

請再次檢查我的代碼,我添加了setLaunchBtn();在onCreate方法 – Crono

+0

當然......我不知道我是怎麼錯過的,甚至。非常感謝您花時間幫助菜鳥:) – PQuix

相關問題