2012-03-10 9 views
-1

안녕하세요 저는 프로그래밍이 처음이므로 변환기를 간단하게 만들 것이라고 생각했지만 누구도 열어 볼 수 없기 때문에 에뮬레이터에서 계속 충돌합니다. 내가 probally 모든 잘못하지만 난 당신의 온 클릭응용 프로그램이 계속 충돌합니다

에서 화씨의 대신

package com.jamie.convert; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 

public class ConvertorActivity extends Activity implements OnClickListener { 

    TextView textout1; 
    EditText textIn1; 
    Button convert; 
    int x=Integer.parseInt(textIn1.getText().toString()); 
    double fahrenheit = 1.8*x; 



    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     convert = (Button) findViewById(R.id.convert); 
     textIn1=(EditText) findViewById(R.id.input); 
     textout1=(TextView) findViewById(R.id.output); 
     convert.setOnClickListener((android.view.View.OnClickListener)this); 

    } 

    @Override 
    public void onClick(View v) { 
     if(v.getId() == R.id.convert) { 
      textout1.setText(""+fahrenheit); 
     } 


    } 
} 
+1

여러분의 도움을 청하기 시작하면 크래시 출력의 logcat을 덤프해야합니다 ... –

+0

레이아웃 파일에 오류가있을 수 있습니다. –

+0

이 질문은 javascript와 어떤 관련이 있습니까? 왜 자바 스크립트 태그? – jfriend00

답변

0

사용하는 대신이 코드는 답을 얻을 것이다

TextView textout1; 
EditText textIn1; 
Button convert; 
static int x; 
//int x=Integer.parseInt(textIn1.getText().toString()); 
//double fahrenheit = 1.8*x; 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    convert = (Button) findViewById(R.id.button1); 
    textIn1=(EditText) findViewById(R.id.editText1); 
    textout1=(TextView) findViewById(R.id.textView1); 
    convert.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      x=Integer.parseInt(textIn1.getText().toString()); 
      double fahrenheit = 1.8*x; 
      textout1.setText(""+fahrenheit); 
     } 
    }); 

} 

int x가 편집 문구에서 아무런 가치도 얻지 못해 병이 들었을 것입니다.

+0

덕분에 고마워 ... – user1261404

+0

가장 환영 ... –

0

시도에 String.valueOf(fahrenheit); 을하고 생각할 수있는 유일한 방법은도에

int x=Integer.parseInt(textIn1.getText().toString()); 

이동 코드를 알고 onclick 메서드

0
int x=Integer.parseInt(textIn1.getText().toString()); 

위의 행은 Activity이 시작되면 즉시 실행됩니다. 이 시점에서 textIn1null이됩니다.

의이 라인
double fahrenheit = 1.8*x; 

함께 ...

int x; 
double fahrenheit; 

그 라인을 교체 ... 다음 onClick() 방법으로 변경 ...이 방법이이어야한다. ..

@Override 
public void onClick(View v) { 
    if(v.getId() == R.id.convert) { 
     x = Integer.parseInt(textIn1.getText().toString()); 
     fahrenheit = x * 1.8 + 32 
     textout1.setText(String.valueOf(fahrenheit)); 
    } 
} 
+0

그 덕분에 큰 – user1261404

관련 문제