2014-01-22 2 views
-2

이것은 audioManager 클래스의 함수를 사용할 때 내 코드입니다. 응용 프로그램이 충돌합니다. 누구나 그 이유를 말할 수 있습니까?안드로이드의 AudioManager

public class MainActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     final TextView tv=new TextView(this); 
     tv.setText("Automatic volume control."); 
     setContentView(tv); 
     AudioManager audio = (AudioManager)this.getSystemService(Context.AUDIO_SERVICE); 

     int x=audio.getRingerMode(); 
     tv.setText(x); 
    } 
} 
+3

오류의'logcat'을 게시하십시오. – CodingIntrigue

답변

0

난 당신이 정말 당신이 무슨 일을하는지 모르는 것을 두려워 코드를 읽기. 나는 어쨌든 이것을 대답하기로 결정했습니다. 오류는 여기에 있습니다 : tv.setText(x). 이 번호를 tv.setText(String.valueOf(x))으로 바꿉니다. 다음은 여기에 있습니다 : setContentView(tv). 여기서는 TextView 또는 다른 위젯이 아닌 활동 레이아웃을 설정해야합니다. 세 번째 문제는 여기에 있습니다 : final TextView tv=new TextView(this).

+0

예. 나는 안드로이드에 대해 배우기 시작했습니다. 도와 줘서 고마워. – user3223571

+0

실제로'setContentView (tv)'에는 아무런 문제가 없으므로 텍스트가 표시됩니다. 레이아웃은 더 복잡한 UI를 원할 때만 필요합니다 (거의 항상 _ 그렇지만 기술적으로 여전히 작동중인 코드 임). 세 번째 "문제"도 무효합니다 :'View' 생성자는'Context' 객체를 사용하여'Activity'를 전달할 수 있습니다. –

+0

@ Márton Molnár 당신 말이 맞습니다. 나는 그렇게하는 것이 의미가 없다고 생각했습니다. – Kristopher