Java 布局问题上的游标适配器

Java 布局问题上的游标适配器,java,android,Java,Android,希望这是一个简单的 有人能告诉我为什么我的布局显示在我的列表视图中,而不是我实际返回的数据吗 例如,如果我的数据库中有两个名为“John”,我会从“EditText”中发送名称“John”来查询数据库,会生成正确数量的listview单元格,但它会再次显示布局两次,而不是返回详细信息 listview中重复编辑文本和按钮的输出问题: 我的数据库中有一个人叫“Dave”,所以它在列表视图中显示正确的结果编号,即“1”,但问题是它应该显示他们的姓名、联系方式、电子邮件和评论,而不是布局 搜索XML

希望这是一个简单的

有人能告诉我为什么我的布局显示在我的列表视图中,而不是我实际返回的数据吗

例如,如果我的数据库中有两个名为“John”,我会从“EditText”中发送名称“John”来查询数据库,会生成正确数量的listview单元格,但它会再次显示布局两次,而不是返回详细信息

listview中重复编辑文本和按钮的输出问题:

我的数据库中有一个人叫“Dave”,所以它在列表视图中显示正确的结果编号,即“1”,但问题是它应该显示他们的姓名、联系方式、电子邮件和评论,而不是布局

搜索XML:

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

<TextView
    android:id="@+id/txtsearch"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Type Name To Search:"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<EditText
    android:id="@+id/inputName"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10" >

    <requestFocus />
</EditText>

<Button
    android:id="@+id/btnSearchName"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Search" />

<ListView
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
</ListView>

</LinearLayout>
问题是我的“搜索”类布局显示在listview中……但是由于listview是这个类的一部分,我认为这是正确的参考

有人能告诉我为什么我的布局显示在我的列表视图中,而不是我实际返回的数据吗

传递给适配器的XML布局,如下所示:

SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter(this, R.layout.search, cursor, from, to);
将在每行中使用的布局。显然,您不想使用
search.xml
,只需将
R.layout.search
更改为您想要使用的布局即可


添加
请尝试以下代码,它可能会帮助您理解其中的区别:

@SuppressWarnings("deprecation")
SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter(this, 
        android.R.layout.simple_list_item_1, 
        cursor, 
        new String[] {DBsearchRef.KEY_NAME}, 
        new int[] {android.R.id.text1});
searchedListResults.setAdapter(cursorAdapter);

我不明白:“但它会再次显示布局两次,而不是返回的详细信息!”您能发布
search.xml
和可能的屏幕截图吗?您看到任何错误吗?当名称更改时,您需要重新加载此光标并将旧光标替换为新光标。你做到了吗?芒果,你能给我举个例子说明你的意思吗?山姆,没有,没有错误。我现在将添加它们。我只是幸运地发现您的响应。。。使用
@Sam
回复特定用户。(这将向该用户发送通知。默认情况下,您会收到通知,因为我们正在对您的问题进行评论。)这就是我感到有点困惑的地方,因为“搜索”包含listview,所以我认为这将是我需要使用的布局?或者我只是用一个listview创建一个新的XML布局吗?当我第一次开始的时候,我也对此感到困惑。活动应该包含带有ListView的布局,通常通过
setContentView()
传递。但是ListView行是在适配器中定义的。这有意义吗?是和否(对不起,我在这里没有),我的活动是用编辑文本、按钮和列表视图来设置的。我是否需要使用listview设置一个新布局,该布局将单独使用listview?我刚试过,结果它变成了空白。我是否需要从我的活动中删除原始的listview,即“搜索”中的listview?我发布了稍微不同的代码,尝试一下,然后查看布局,注意行布局只是一个文本视图。Sam感谢代码,我尝试过修改它,但似乎无法让eclipse识别新的XML布局。
@SuppressWarnings("deprecation")
SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter(this, 
        android.R.layout.simple_list_item_1, 
        cursor, 
        new String[] {DBsearchRef.KEY_NAME}, 
        new int[] {android.R.id.text1});
searchedListResults.setAdapter(cursorAdapter);