Java 列表视图无法运行

Java 列表视图无法运行,java,android,eclipse,android-listview,Java,Android,Eclipse,Android Listview,我已经用Eclipse在Android中编写了有关ListView的代码。我遵循了基于本书的教程。但是在我复制代码并使用Emulator运行之后。部队关闭信息出现。如下图所示: 我不知道发生了什么问题。相反,我搜索了这个问题的解决方案: 我的代码如下图所示: 下图显示了logcat: 你能给我一些解决办法吗?试试这个 xml MainActivity.java 公共类MainActivity扩展了ListActivity{ TextView content; @Override prote

我已经用Eclipse在Android中编写了有关ListView的代码。我遵循了基于本书的教程。但是在我复制代码并使用Emulator运行之后。部队关闭信息出现。如下图所示:

我不知道发生了什么问题。相反,我搜索了这个问题的解决方案:

我的代码如下图所示:

下图显示了logcat: 你能给我一些解决办法吗?

试试这个

xml

MainActivity.java

公共类MainActivity扩展了ListActivity{

TextView content;

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

    content = (TextView) findViewById(R.id.output);

    String[] CoffeeShop = {"Creation","Starbucks","Caribou","Mo'Joe" };

    // Define a new Adapter
    // First parameter - Context
    // Second parameter - Layout for the row
    // Third - the Array of data

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1, CoffeeShop);

    // Assign adapter to List
    setListAdapter(adapter);
}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {

    super.onListItemClick(l, v, position, id);

// ListView Clicked item index
    int itemPosition = position;

    // ListView Clicked item value
    String itemValue = (String) l.getItemAtPosition(position);

    content.setText("Click : \n  Position :" + itemPosition
            + "  \n  ListItem : " + itemValue);

    }
}

确保你的ListView被命名为logcat的位置??发布它。在这里滚动非常重要。你确定TextView和ListView在R.layout.main文件中吗?显示你的logcat错误please@Emil你可以一个接一个地引用所有的评论。其中一条评论肯定会与你的NPE相匹配。@Emil Ohhh它与德尔戈勒姆评论相匹配。第二条t、 。请解释为什么为了更好地理解,OP只能通过解释来学习……请检查我是否更新了答案。它工作正常。感谢您的回答,我在初始化ListView时在.xml文件中犯了错误。根据@Der Golem在这个问题的评论中说的,是的,您在用xml声明ListView id时犯了错误。嘿@Emil,我被发送给您了所以你必须先接受我的回答。
TextView content;

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

    content = (TextView) findViewById(R.id.output);

    String[] CoffeeShop = {"Creation","Starbucks","Caribou","Mo'Joe" };

    // Define a new Adapter
    // First parameter - Context
    // Second parameter - Layout for the row
    // Third - the Array of data

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1, CoffeeShop);

    // Assign adapter to List
    setListAdapter(adapter);
}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {

    super.onListItemClick(l, v, position, id);

// ListView Clicked item index
    int itemPosition = position;

    // ListView Clicked item value
    String itemValue = (String) l.getItemAtPosition(position);

    content.setText("Click : \n  Position :" + itemPosition
            + "  \n  ListItem : " + itemValue);

    }
}