2012-10-24 3 views
0
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    Intent intent = getIntent(); 
    String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE); 

    int N = 10; 
    TextView[] myTextViews = new TextView[N]; 
    LinearLayout myLinearLayout = (LinearLayout) findViewById(R.id.test); 
    for (int i = 0; i < N; i++) { 
     TextView rowTextView = new TextView(this); 
     rowTextView.setText(message); 

     myLinearLayout.addView(rowTextView); 
     myTextViews[i] = rowTextView; } 

위 코드의 오류는 무엇인가요? "불행히도 앱이 중지되었습니다."오류가 표시됩니다.Android의 선형 레이아웃

+0

더 많은 오류를 표시 할 수 있습니까? 전체 추적을 복사하여 붙여 넣으시겠습니까? – daniel

+0

귀하의 logcat 오류를 게시하십시오 .. –

+1

은 무엇이든간에 여기에 귀하의 코드와 관련이 없습니다. 스택 추적 게시 – njzk2

답변

3

setContentView()은 어디에도 전화하지 않습니다. 사용해보기 :

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.id.<yourlayout>); 
    //Your code 

팽창하지 않는 한 레이아웃에서보기를 참조 할 수 없습니다. findViewById()을 호출하면 현재 레이아웃에서보기가 검색됩니다. 레이아웃이 설정되어 있지 않으므로 myLinearLayout에 대한 null 값이 표시됩니다.

2

10 개의 간단한 텍스트 항목을 하나씩 표시하는 경우 대신 ListView에 대해 생각해보십시오. 이클립스 플러그인은 바로 아웃 박스에서 정적 배열로 채워진 ListView로 샘플 앱을 생성 할 것이다. 선택하십시오 New > Other... > Android > Android Application Project > [name app] > [create icon (optional)] > MasterDetailFlow