2014-04-25 2 views
0

그래서 xml에서 레이아웃을 정의한 충돌 :수정 텍스트 뷰 프로그램

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    android:gravity="center"> 

    <TextView 
     android:id="@+id/char_name" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"/> 

</LinearLayout> 

하지만 java 내 프로그램 충돌에 대해 아무것도 변경하려고하면.

public class DisplayMessageActivity extends Activity { 

    @SuppressLint("NewApi") 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    TextView charName = (TextView) findViewById(R.id.char_name); 
    charName.setText("Bob"); 
    setContentView(R.layout.displayName); 

    } 
} 

내 앱이 컴파일되어 실행되지만이 기기가 Activity으로 전환되면 충돌이 발생합니다. xml 파일의 텍스트를 설정하면 올바르게 작동합니다.

답변

1

당신은 활동에 대한 내용을 설정하지 않았습니다. onCreate에 다음을 추가합니다 your_layout.xmlIDchar_nameTextView를 포함하는 XML 파일이

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.your_layout); 

    TextView charName = (TextView) findViewById(R.id.char_name); 
    charName.setText("Bob"); 
} 

입니다.

참고 :TextView charName을 초기화하기 전에 내용을 설정해야합니다. 코드

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.displayName); 

    TextView charName = (TextView) findViewById(R.id.char_name); 
    charName.setText("Bob"); 


    } 
0

는 활동에 텍스트 뷰를 포함하는 레이아웃을 추가

솔루션 :

setContentView(R.layout.yourlayoutname); 
0

변화는해야

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.displayName); 

    TextView charName = (TextView) findViewById(R.id.char_name); 
    charName.setText("Bob"); 
} 
0

아래