Sqlite 游标加载程序未填充ListView[帮助]

Sqlite 游标加载程序未填充ListView[帮助],sqlite,android-layout,listview,simplecursoradapter,android-fragmentactivity,Sqlite,Android Layout,Listview,Simplecursoradapter,Android Fragmentactivity,我的应用程序使用游标加载程序将sqlite数据填充到ListView中。实际上,游标加载程序应该只将DB中的一列(COLUNM_NAME_SITE)填充到listview中。我遇到的问题是,一旦在数据库中插入了信息,就会创建一个列表项(我可以通过每次插入数据时显示的行来判断),但listview中没有显示任何文本listview基本上是空白的。我相信这也会使应用程序在单击列表视图项时崩溃 我假设我的FROM和TO数组以及游标适配器创建正确,但我可能是错的。可能是我的布局有问题吗?我不确定,但希望

我的应用程序使用游标加载程序将sqlite数据填充到ListView中。实际上,游标加载程序应该只将DB中的一列(COLUNM_NAME_SITE)填充到listview中。我遇到的问题是,一旦在数据库中插入了信息,就会创建一个列表项(我可以通过每次插入数据时显示的行来判断),但listview中没有显示任何文本listview基本上是空白的。我相信这也会使应用程序在单击列表视图项时崩溃

我假设我的FROM和TO数组以及游标适配器创建正确,但我可能是错的。可能是我的布局有问题吗?我不确定,但希望有人能深入查看我的代码,让我知道哪里出了问题

<>我没有收到任何错误,直到我点击空白ListVIEW项。

装载机类别:

public class LoginList extends FragmentActivity implements AdapterView.OnItemClickListener, OnClickListener, LoaderManager.LoaderCallbacks<Cursor> {

private ListView loginList;
private Button webLogin;
private SimpleCursorAdapter adapter;

@Override 
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login_listview);

loginList = (ListView)findViewById(R.id.loginlist);
loginList.setOnItemClickListener(this);

webLogin = (Button)findViewById(R.id.button3);
webLogin.setOnClickListener(this);

//Specify fileds to display in the list
String[] from = new String[] { ListProvider.COLUMN_NAME_SITE };

//Bind fields to listview
int[] to = new int[] {R.id.loginlist };

// Create CursorAdapter and set it to display
adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, null, from, to);

loginList.setAdapter(adapter);

getSupportLoaderManager().initLoader(0, null, this);
}

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "Selected ID :" + arg2, Toast.LENGTH_SHORT).show();

Intent updateDeleteLoginInfo = new Intent (this, UpdateDeleteLoginList.class);

Cursor clickedObject = (Cursor)loginList.getItemAtPosition(arg2);

Bundle loginBundle = new Bundle();
loginBundle.putString("clickedWebSite",((LoginDetails) clickedObject).getsName());
loginBundle.putString("clickedWebAddress",((LoginDetails) clickedObject).getwUrl());
loginBundle.putString("clickedUserName",((LoginDetails) clickedObject).getuName());
loginBundle.putString("clickedPassWord",((LoginDetails) clickedObject).getpWord());
loginBundle.putString("clickedNotes",((LoginDetails) clickedObject).getlNotes());

updateDeleteLoginInfo.putExtras(loginBundle);

startActivityForResult(updateDeleteLoginInfo, 0); 
} 

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent webLoginIntent = new Intent (this, LoginPlusActivity.class);
startActivity(webLoginIntent);
}

@Override
public Loader<Cursor> onCreateLoader(int ignored, final Bundle args) {
return new CursorLoader(this, ListProvider.CONTENT_URI, null, null, null, null);
}

@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
adapter.swapCursor(cursor);
}

@Override
public void onLoaderReset (Loader<Cursor> loader) {
adapter.swapCursor(null);
}
}       

实现这一点的另一种方法是扩展ListActivity并实现LoaderManager.LoaderCallbacks

public class LoginActivity extends ListActivity implements LoaderManager.LoaderCallbacks<Cursor> {...
公共类LoginActivity扩展ListActivity实现LoaderManager.LoaderCallbacks{。。。 在博客上有一个很好的4部分教程

 //Database Columns
public static final String COLUMN_ROWID = "_id";
public static final String COLUMN_NAME_SITE = "sName";
public static final String COLUMN_NAME_ADDRESS = "wUrl";
public static final String COLUMN_NAME_USERNAME = "uName";
public static final String COLUMN_NAME_PASSWORD = "pWord";
public static final String COLUMN_NAME_NOTES = "lNotes";

// Database related Constants
public static final String DATABASE_NAME = "SiteLogindb";
public static final int DATABASE_VERSION = 2;


public static final String DSTORE_CREATE = "create table if not exists " +
        TABLE_NAME_INFOTABLE + " ("+ COLUMN_ROWID + " integer primary key autoincrement,"

                    + COLUMN_NAME_SITE + " text not null,"
                    + COLUMN_NAME_ADDRESS + " text not null,"
                    + COLUMN_NAME_USERNAME + " text not null,"
                    + COLUMN_NAME_PASSWORD + " text not null,"
                    + COLUMN_NAME_NOTES + " text not null);";
public class LoginActivity extends ListActivity implements LoaderManager.LoaderCallbacks<Cursor> {...