java.lang.RuntimeException : Unable to start activity and skipping frames 错误

标签 java android eclipse

我正在开发一个安卓温度转换器应用程序(它不工作)。起初我在 LogCat 上看到这条消息

the application may be doing too much work on its main thread

然后我删除了从未使用过的代码。

现在,这是错误:

java.lang.RuntimeException: Unable to start activity

代码:Main_Activity.java

package com.example.tempconverter;

import android.support.v7.app.ActionBarActivity;

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


public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);



    final EditText editCelsius = (EditText) findViewById(R.id.editCelsius);
    final EditText editFahrenheit = (EditText) findViewById(R.id.editFahrenheit);
    Button buttonConvert =(Button)findViewById(R.id.buttonConvert);

    buttonConvert.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            double celsius = Double.valueOf(editCelsius.getText().toString());
            double fahrenheit = (celsius * 9)/5 +32;
            editFahrenheit.setText(String.valueOf(fahrenheit));


        }
    });
}
}

fragment_main.xml中的代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.tempconverter.MainActivity$PlaceholderFragment" >

<TextView
    android:id="@+id/textCelsius"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginTop="55dp"
    android:text="Celsius"
    android:textAppearance="?android:attr/textAppearanceMedium"
    tools:ignore="hardcodedtext" />

<EditText
    android:id="@+id/editCelsius"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/textCelsius"
    android:layout_marginLeft="52dp"
    android:layout_toRightOf="@+id/textCelsius"
    android:ems="7"
    android:inputType="number" >

    <requestFocus />
</EditText>

<TextView
    android:id="@+id/textFahrenheit"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/editCelsius"
    android:layout_marginTop="31dp"
    android:text="Fahrenheit"
    android:textAppearance="?android:attr/textAppearanceMedium"
    tools:ignore="hardcodedtext" />

<Button
    android:id="@+id/buttonConvert"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/editFahrenheit"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="70dp"
    android:text="Convert"
    tools:ignore="hardcodedtext" />

<EditText
    android:id="@+id/editFahrenheit"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignRight="@+id/editCelsius"
    android:layout_alignTop="@+id/textFahrenheit"
    android:ems="7"
    android:inputType="number" />

</RelativeLayout>

现在这是 LogCat 的一部分...... https://drive.google.com/file/d/0Bxd5Rg3QFBfbdkZULWxNUTVrV2M/edit?usp=sharing

最佳答案

显然,您夸大了错误的观点。你有一个 RuntimeException,你应该有一个 NullPointerException,因为 setContentView 尝试设置(和方法 findViewById 尝试在里面找到 View )错误的布局为:

setContentView(R.layout.activity_main);  

而您所有的 EditTextTextViewButtons 都在 fragment_main.xml 中。
尝试按如下方式设置内容 View :

setContentView(R.layout.fragment_main);  

或者,将 fragment_main.xml 重命名为 activity_main.xml


评论更新:

这类错误“无法加载内存跟踪模块”发生在带有模拟器的一些设备上。为避免这种情况,请始终使用多个进行测试> 设备(真实与否)。

关于java.lang.RuntimeException : Unable to start activity and skipping frames 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22744799/

相关文章:

android - 在我的应用程序中显示马拉雅拉姆语文本

java - 无法创建 Liferay 插件项目

java - 从 Eclipse 插件运行时选项卡添加 jar

eclipse - 如何通过gradle在Eclipse项目中添加对类路径的具体引用?

java - 生成一个系列/返回系列中的第 n 项

java - 更改 Eclipse 中括号布局的设置

android - ConstraintLayout 的问题 - 垂直边距不起作用

android - 如何在 Android 上将对象从一个 Activity 传递到另一个 Activity ?

java - 使用 JSoup 的 HTML 中样式元素的数量

java - 下次调用 PaintComponent() 时 Graphics2D 是否会重置合成?为什么?