0

新しいクラスを開始したばかりで、他のいくつかのクラスで問題なく行ったようにXMLをレイアウトしましたが、このクラスで非常に奇妙なリソースエラーが発生しています。

編集テキスト、ボタン、リストビューを含む「edit」というXMLレイアウトがあります。何らかの理由で、クラスにリストビュー参照を入力すると、「解決できません」というエラーが表示されます。これは、XMLで明確に定義されているため、実際には理解できません。

現在、IDは次のように参照されています。

android:id="@android:id/listEdit"

このID参照により、リストビューがレイアウト内で一斉に消えて、次のエラーが発生するようです。

NOTE: This project contains resource errors, so aapt did not succeed, which can cause  rendering failures. Fix resource problems first.

Couldn't resolve resource @android:id/listEdit

これが私の「編集」XMLです。

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

<TextView
    android:id="@+id/txteditSearch"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Type A Name To Edit;"
    android:textAppearance="?android:attr/textAppearanceMedium" />

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

    <requestFocus />
</EditText>

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

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

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

</LinearLayout>

そして私の編集クラス:

package com.example.flybase2;

import android.app.ListActivity;
import android.database.Cursor;
import android.os.Bundle;
import android.support.v4.widget.SimpleCursorAdapter;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;


public class edit extends ListActivity implements OnClickListener {


Button editSearch;
EditText nameEdit;
ListView editList;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


    setContentView(R.layout.edit);

            // ERROR: Error on the 'listEdit'
    editList = (ListView)findViewById(android.R.id.listEdit);

    DBHandler DBedit = new DBHandler(this, null, null);

    DBedit.open();
    Cursor cursor = DBedit.getData();

    startManagingCursor(cursor);

    @SuppressWarnings("static-access")
    String [] from = new String [] {DBedit.KEY_NAME, DBedit.KEY_TEL,  DBedit.KEY_EMAIL, DBedit.KEY_COMMENTS};
    int [] to = new int [] {R.id.txtNameSet, R.id.txtContactSet,  R.id.txtEmailSet, R.id.txtCommentSet};

    @SuppressWarnings("deprecation")

    SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter(this,    R.layout.searchagain, cursor, from, to);
    editList.setAdapter(cursorAdapter);


    editSearch = (Button) findViewById(R.id.btnSearchName); 
    nameEdit = (EditText) findViewById(R.id.inputName); 


    editSearch.setOnClickListener(this);


}


@Override
public void onClick(View clickedSearchButton) {

String searchedName = nameEdit.getText().toString();

editList = (ListView)findViewById(android.R.id.list);

DBHandler DBsearchRef = new DBHandler(this, null, null);

DBHandler search = new DBHandler(this, null, null);

search.open();
Cursor cursor = search.searchOnName(searchedName);

startManagingCursor(cursor);

@SuppressWarnings("static-access")
String [] from = new String [] {DBsearchRef.KEY_NAME, DBsearchRef.KEY_TEL,  DBsearchRef.KEY_EMAIL, DBsearchRef.KEY_COMMENTS};
int [] to = new int [] {R.id.txtEditNameSet, R.id.txtEditNumSet,    R.id.txtEditEmailSet, R.id.txtEditCommentsSet};

@SuppressWarnings("deprecation")

SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter(this, R.layout.setedit, cursor, from, to);
editList.setAdapter(cursorAdapter);



}

}

なぜこれが起こっているのか、私を夢中にさせているのか誰にも分かりますか?

4

3 に答える 3

1

を使用する場合は、のIDとして使用ListActivityする必要があります。android:id="@android:id/list"ListView

次に、メソッドListViewを使用して参照できるgetListView()ため、自分で参照し続ける必要はありません。

于 2013-01-14T15:26:25.763 に答える
0

以下の行を使用できますか

  android:id="@+id/listEdit"

これの代わりに

android:id="@android:id/listEdit"
于 2013-01-14T15:26:13.283 に答える
0

メッセージはまさにそれが意味するものであり、IDはありません:

 android:id="@android:id/listEdit"

Androidフレームワークでは、使用したいものは次のとおりです。

android:id="@android:id/list"
于 2013-01-14T15:27:39.447 に答える