2012-02-09 2 views
0

저는 Vogella 튜토리얼을 사용하고 있습니다. 저는 지침에 정확히 따라 갔지만 거의 긍정적이었습니다.하지만 앱을 사용하려고 시도했을 때 작동하지 않고 xml 레이아웃 만 보여줍니다.안드로이드 온도 변환기가 작동하지 않습니까?

코드 :

package convert.activity; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.EditText; 
import android.widget.RadioButton; 
import android.widget.Toast; 

public class ConvertActivityActivity extends Activity { 
private EditText text; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    text = (EditText) findViewById(R.id.editText1); 

} 

// This method is called at button click because we assigned the name to the 
// "On Click property" of the button 
public void myClickHandler(View view) { 
    switch (view.getId()) { 
    case R.id.button1: 
     RadioButton celsiusButton = (RadioButton) findViewById(R.id.radio0); 
     RadioButton fahrenheitButton = (RadioButton) findViewById(R.id.radio1); 
     if (text.getText().length() == 0) { 
      Toast.makeText(this, "Please enter a valid number", 
        Toast.LENGTH_LONG).show(); 
      return; 
     } 

     float inputValue = Float.parseFloat(text.getText().toString()); 
     if (celsiusButton.isChecked()) { 
      text.setText(String 
        .valueOf(convertFahrenheitToCelsius(inputValue))); 
      celsiusButton.setChecked(false); 
      fahrenheitButton.setChecked(true); 
     } else { 
      text.setText(String 
        .valueOf(convertCelsiusToFahrenheit(inputValue))); 
      fahrenheitButton.setChecked(false); 
      celsiusButton.setChecked(true); 
     } 
     break; 
    } 
} 

// Converts to celsius 
private float convertFahrenheitToCelsius(float fahrenheit) { 
    return ((fahrenheit - 32) * 5/9); 
} 

// Converts to fahrenheit 
private float convertCelsiusToFahrenheit(float celsius) { 
    return ((celsius * 9)/5) + 32; 
} 
} 

도대체 것은 아마도 그것이 잘못 될 수 있을까? 여기 내 XML이 너무입니다 : 는

EDIT (공공 클래스 ConvevrtActivityActivity는 실제 이름입니다입니다)

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="fill_parent" 
android:layout_height="fill_parent"> 

<EditText android:layout_height="wrap_content" 
    android:id="@+id/editText1" 
    android:layout_width="match_parent" ></EditText> 

<RadioGroup android:layout_height="wrap_content" android:id="@+id/radioGroup1" 
    android:layout_width="match_parent"> 

    <RadioButton 
     android:id="@+id/radio0" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:checked="true" 
     android:text="@string/celsius" > 
</RadioButton> 

    <RadioButton 
     android:id="@+id/radio1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/fahrenheit" > 
</RadioButton> 
</RadioGroup> 

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/calc" > 
</Button> 


</LinearLayout> 

로그 캣 : 당신이 당신의 클릭 리스너 방법을 "연결"하지 않은

02-08 21:05:39.392: W/ThrottleService(89): unable to find stats for iface rmnet0 
02-08 21:07:18.561: D/dalvikvm(172): GC_CONCURRENT freed 385K, 6% free 9529K/10119K,   paused 9ms+8ms 
02-08 21:12:06.030: A/BatteryStatsImpl(89): problem reading network stats 
02-08 21:12:06.030: A/BatteryStatsImpl(89): java.lang.IllegalStateException: problem parsing idx 1 
02-08 21:12:06.030: A/BatteryStatsImpl(89):  at com.android.internal.net.NetworkStatsFactory.readNetworkStatsDetail(NetworkStatsFactory.jav a:300) 
02-08 21:12:06.030: A/BatteryStatsImpl(89):  at com.android.internal.net.NetworkStatsFactory.readNetworkStatsDetail(NetworkStatsFactory.jav a:250) 
02-08 21:12:06.030: A/BatteryStatsImpl(89):  at  com.android.internal.os.BatteryStatsImpl.getNetworkStatsDetailGroupedByUid(BatteryStatsImpl .java:5734) 
02-08 21:12:06.030: A/BatteryStatsImpl(89):  at com.android.internal.os.BatteryStatsImpl.access$100(BatteryStatsImpl.java:76) 
02-08 21:12:06.030: A/BatteryStatsImpl(89):  at com.android.internal.os.BatteryStatsImpl$Uid.computeCurrentTcpBytesReceived(BatteryStatsImp l.java:2457) 
02-08 21:12:06.030: A/BatteryStatsImpl(89):  at com.android.internal.os.BatteryStatsImpl$Uid.getTcpBytesReceived(BatteryStatsImpl.java:2446) 
02-08 21:12:06.030: A/BatteryStatsImpl(89):  at com.android.internal.os.BatteryStatsImpl.writeSummaryToParcel(BatteryStatsImpl.java:5437) 
02-08 21:12:06.030: A/BatteryStatsImpl(89):  at com.android.internal.os.BatteryStatsImpl.writeLocked(BatteryStatsImpl.java:4836) 
02-08 21:12:06.030: A/BatteryStatsImpl(89):  at com.android.internal.os.BatteryStatsImpl.writeAsyncLocked(BatteryStatsImpl.java:4818) 
02-08 21:12:06.030: A/BatteryStatsImpl(89):  at com.android.server.am.ActivityManagerService.updateCpuStatsNow(ActivityManagerService.java:1649) 
02-08 21:12:06.030: A/BatteryStatsImpl(89):  at com.android.server.am.ActivityManagerService$3.run(ActivityManagerService.java:1531) 
02-08 21:12:06.030: A/BatteryStatsImpl(89): Caused by: java.io.FileNotFoundException: /proc/net/xt_qtaguid/stats: open failed: ENOENT (No such file or directory) 
02-08 21:12:06.030: A/BatteryStatsImpl(89):  at libcore.io.IoBridge.open(IoBridge.java:406) 
02-08 21:12:06.030: A/BatteryStatsImpl(89):  at java.io.FileInputStream.<init> (FileInputStream.java:78) 
02-08 21:12:06.030: A/BatteryStatsImpl(89):  at com.android.internal.net.NetworkStatsFactory.readNetworkStatsDetail(NetworkStatsFactory.jav a:269) 
02-08 21:12:06.030: A/BatteryStatsImpl(89):  ... 10 more 
02-08 21:12:06.030: A/BatteryStatsImpl(89): Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory) 
02-08 21:12:06.030: A/BatteryStatsImpl(89):  at libcore.io.Posix.open(Native Method) 
02-08 21:12:06.030: A/BatteryStatsImpl(89):  at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110) 
02-08 21:12:06.030: A/BatteryStatsImpl(89):  at libcore.io.IoBridge.open(IoBridge.java:390) 
02-08 21:12:06.030: A/BatteryStatsImpl(89):  ... 12 more 
02-08 21:12:06.439: D/dalvikvm(89): GC_CONCURRENT freed 1446K, 16% free 11329K/13383K,  paused 10ms+19ms 
02-08 21:14:45.149: D/dalvikvm(172): GC_CONCURRENT freed 383K, 6% free 9529K/10119K, paused 8ms+7ms 
02-08 21:15:39.493: W/ThrottleService(89): unable to find stats for iface rmnet0 
+0

xml도 게시하십시오. 그리고 클릭 핸들러 콜백에 몇 가지 로그 문을 추가하여 콜백을 받고 있는지 확인할 수 있습니다. – FoamyGuy

+0

로그에 무엇이 잘못되었는지는 모르지만 도움이된다면 실제 전화를 에뮬레이터로 사용하고 있습니다. – Mia

답변

1

버튼보기. 이처럼 보이도록 레이아웃의 해당 부분을 변경합니다 : 당신이에서 그 물건 중 하나를 인식하지 않는 경우

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/calc" 
    android:onClick="myClickHandler"> 
</Button> 

은 아마 당신의 응용 프로그램에 무관 로그인합니다. 내가 말한 의미는 기본적으로 로그 cat에 인쇄 할 Java에 로그 문을 넣는 것입니다. 그렇게하면 응용 프로그램을 빌드하는 동안 응용 프로그램이 중단되는 위치를 파악할 수 있습니다. 다음과 같이 입력하십시오 :

Log.d("TAG","I'm inside the click callback!"); 
+0

정말 고마워요! 나는 그것에 대해 완전히 잊었다. – Mia

관련 문제