2013-04-08 75 views
0

大家好我需要一些帮助解决我的问题。我想在database中显示所有数据。但是,当我试图表明,我得到这样的日志目录的错误:你的内容必须有一个ListView其id属性是android.R.id.list错误android:你的内容必须有一个ListView的id属性是android.R.id.list

这是我在查询DBHelper.java

public Cursor getAll() { 
    SQLiteDatabase db = getReadableDatabase(); 
    Cursor cur = db.query(TableName, new String[]{ID, LATITUDE, LONGITUDE, 
      RADIUS, 
      ALAMAT, KONTEKS_TUGAS}, null, null, null, null, null); 
    db.close(); 
    return cur; 
} 

我在视图代码

public class readReminder extends ListActivity { 
DBHelper helper; 
ListView taskList; 
ArrayList<Task> listArr; 
listAdapter listadapt; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.read_task); 
    taskList = (ListView) findViewById(android.R.layout.simple_list_item_1); 
    helper = new DBHelper(this); 
    listArr = new ArrayList<Task>(); 

    Cursor cur = helper.getAll(); 
    if(cur.moveToFirst()) { 
     do { 
      ArrayList temp = new ArrayList(); 
      temp.add(String.valueOf(cur.getString(5)).toString()); 
      temp.add(String.valueOf(cur.getString(6)).toString()); 
      listArr.addAll(temp); 
     } while(cur.moveToNext()); 
    } 
    cur.close(); 
    listadapt = new listAdapter(getApplicationContext(), listArr); 
    taskList.setAdapter(listadapt); 
}} 

listAdapter.java

public class listAdapter extends BaseAdapter { 
Context konteks; 
ArrayList<Task> data; 

public listAdapter(Context context, ArrayList<Task> data) { 
    this.konteks = context; 
    this.data = data; 
} 

@Override 
public int getCount() { 
    // TODO Auto-generated method stub 
    return this.data.size(); 
} 

@Override 
public Object getItem(int position) { 
    // TODO Auto-generated method stub 
    return null; 
} 

@Override 
public long getItemId(int position) { 
    // TODO Auto-generated method stub 
    return 0; 
} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    // TODO Auto-generated method stub 
    LayoutInflater inflater = (LayoutInflater) 
      konteks.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View view = inflater.inflate(R.layout.txt_view, null); 
    TextView txt = (TextView) view.findViewById(R.id.txtView); 
    txt.setText(this.data.get(position).getAlamat()); 
    view.setTag(this.data.get(position).getKonteks()); 
    return view; 
}} 

read_task.xml

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

而且我txt_view.xml

<TextView 
    android:id="@+id/txtView" 
    android:textSize="16sp" 
    android:textStyle="bold" 
    android:textColor="@android:color/black" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    /> 

感谢您的帮助......

+0

尝试使用'@android:ID/list'代替'@ + ID /安卓list' – 2013-04-08 10:21:00

回答

0

使用android:id="@android:id/list",和你的ListView应该可以找到:

taskList = getListView(); 
+0

谢谢..错误已经。但数据不显示。在DDMS节目中有一些数据,但是当我尝试查看它时并没有显示任何内容 – 2013-04-08 11:20:10

1

变化android:id="@+id/android:list"android:id="@android:id/list",这个应该完成这项工作。

相关问题