java - 尽管 Android 应用程序很简单,但它不会停止崩溃

标签 java android eclipse

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

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

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

    <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 有停止了

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

我想知道有人知道为什么会发生这种情况。编译没有告诉我任何警告/错误。

最佳答案

错误是:

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

由于editText组件位于fragment_main.xml中,而不是当前activity的contentview的activity_main.xml中,因此变量edittext的值必须为null,那么下面的代码将导致错误。

请将addKeyListener()方法移到PlaceholderFragment类中即可。

关于java - 尽管 Android 应用程序很简单,但它不会停止崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23900740/

相关文章:

java - Spring Autowiring "forgot"关于依赖

java - Elasticsearch 前缀过滤器

java - 重绘时文本字段变形

java - 无法解决我。answershahriar:calligrapher:4.0

java - 将GWT模块部署到/war子目录

java - 两个接口(interface)指定具有相同签名的方法,但指定具有不同的行为?

android - 如何遍历 greendao 列表?

java - 如何调试第三方Gradle插件?

java - StreamSupport 收集器和 Java 7

java - 转换为 Dalvik 格式失败 : Unable to execute dex: Java heap space