尽管它很简单,但Android应用程序不会停止崩溃[重复]

Posted

技术标签:

【中文标题】尽管它很简单,但Android应用程序不会停止崩溃[重复]【英文标题】:Android application would not stop crashing despite its simplicity [duplicate] 【发布时间】:2014-07-17 00:49:42 【问题描述】:

我目前正在制作一个非常简单的 android 应用程序,遵循本教程:http://www.mkyong.com/android/android-textbox-example/

在我的fragment_main.xml,我有这个:

<EditText
    android:id="@+id/editText"
    android:layout_
    android:layout_ >

    <requestFocus />
</EditText>

在我的MainActivity.java 中,我有以下内容。它只是一个响应按键的应用程序。

private EditText edittext;

@Override
protected void onCreate(Bundle savedInstanceState)

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    if (savedInstanceState == null)
    
        getFragmentManager().beginTransaction()
                .add(R.id.container, new PlaceholderFragment()).commit();
    

    addKeyListener();


public void addKeyListener()

    // get edittext component
    edittext = (EditText) findViewById(R.id.editText);

    // add a keylistener to keep track of user input

    edittext.setOnKeyListener(new View.OnKeyListener()
    

        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event)
        
            if((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER))
            
                // display a floating message
                Toast.makeText(MainActivity.this, edittext.getText(), Toast.LENGTH_LONG).show();
                return true;
            
            else if((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_9))
            
                // display a floating message
                Toast.makeText(MainActivity.this, "Number 9 is pressed!", Toast.LENGTH_LONG).show();
                return true;
            
            return false;
        
    );

应用程序基本上响应按键。

我拥有的所有东西都是我从股票应用程序中改变的唯一东西。我的 Note 3 上的目标是 4.3。

如果我的应用程序是 Hello World 应用程序(您使用 Eclipse 创建的普通应用程序),我的应用程序运行良好,但是,只要我向它添加其他组件/方法,它就会简单地让我感到不幸的是,myapp 有停止

我已经尝试为这个新示例创建一个新项目只是,但是应用程序崩溃的相同错误。

我想知道有人知道为什么会这样。编译不会告诉我任何警告/错误。

【问题讨论】:

***.com/questions/23353173/… 需要发布logcat 谢谢大家。我会在几分钟后发布 logcat。 看来这可能是相关的:puu.sh/949Zg/67d8f3228e.png 我在手机上找不到data/log 【参考方案1】:

错误是:

edittext = (EditText) findViewById(R.id.editText);

因为editText组件在fragment_main.xml,而不是当前activity的contentview activity_main.xml,所以变量edittext的值必须为null,那么下面的代码会报错。

请将 addKeyListener() 方法移到 PlaceholderFragment 类中,就可以了。

【讨论】:

没错,他分享的教程也已经过时了。那个根本没有实现 Fragment。 您好 lxh2002。我在哪里打电话给addKeyListener() 我还在上一堂课中实现了addKeyListener()。这是否意味着我还必须在fragment_view 的静态类中实现addKeyListener()【参考方案2】:

我想解决方案很简单。您的 EditText 位于 fragment_main.xml 并且您正在使用 activity_main 在您的 java 文件中使用 setContentView()。因此会有 nullpointer 异常。解决方法是:更改 setContentView(R.layout.activity_main);到 setContentView(R.layout.fragment_main);

【讨论】:

嗨@kgandroid。似乎您的方法比其他人建议的方法更简单,即将东西放入PlaceholderFragment。我很快就会在手机上测试一下。

以上是关于尽管它很简单,但Android应用程序不会停止崩溃[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Android 应用程序崩溃,但不会重新启动 - 从应用程序的另一点恢复

在我的华为手机上调试时,Android Studio 调试器在断点处崩溃/停止

在android中停止服务

Tomcat 7 崩溃后无法启动

应用程序在设备上崩溃,但 XCode 没有注册崩溃

具有可选属性的实体在雪豹中崩溃