我想在我的加載按鈕的onclicklistener中使用來自sqlite的數據填充我的列表視圖。無法從數據庫使用sqlite填充列表視圖
但是,有些東西在我的代碼中不起作用。這是我的代碼。
public class TotalResults extends ListActivity {
DatabaseManager db = new DatabaseManager(this);
List<PlayerData> contacts;
String name;
int score;
TextView result;
TextView saved;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_total_results);
result = (TextView) findViewById (R.id.textResult);
saved = (TextView) findViewById (R.id.textLoad);
Button save = (Button) findViewById (R.id.buttonSave);
Button load = (Button) findViewById (R.id.buttonLoad);
Button delete = (Button) findViewById (R.id.buttonDelete);
contacts = db.getAllContacts();
final ArrayAdapter<PlayerData> adapter = new ArrayAdapter<PlayerData>(this,
android.R.layout.simple_list_item_1, contacts);
setListAdapter(adapter);
Intent intent = getIntent();
name = intent.getExtras().getString("name");
score = intent.getExtras().getInt("score");
result.setText("Name: "+name+" , Score: "+score);
save.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
db.addContact(new PlayerData(name,score));
Log.d("Inserting: ", name);
Log.d("Inserting: ", Integer.toString(score));
}
});
load.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
//check to ensure there are users
if(contacts.size()==0) {
String text = "No players stored.";
Toast.makeText(TotalResults.this, text, Toast.LENGTH_SHORT).show();
} else {
PlayerData player = contacts.get(0);
String showName = player.getName();
int showScore = player.getscore();
Log.d("Getting:", showName);
Log.d("Getting:", Integer.toString(showScore));
adapter.add(player);
saved.setText("Player Name: "+showName+" Player Score: "+showScore);
}
}
});
delete.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
List<PlayerData> contacts = db.getAllContacts();
//check to ensure there are users
if(contacts.size()==0) {
String text = "No players to delete.";
Toast.makeText(TotalResults.this, text, Toast.LENGTH_SHORT).show();
} else {
PlayerData player = contacts.get(0);
String showName = player.getName();
int showScore = player.getscore();
Log.d("Deleting:", showName);
Log.d("Deleting:", Integer.toString(showScore));
db.deleteContact(player);
}
}
});
}
我已經應用了setListAdapter的概念。然而,logcat應該是我從數據庫中得到一個名字和得分,但是沒有獲取數據的跡象。但插入的數據可以刪除。加載按鈕也不會在列表視圖中顯示任何東西。請幫忙。提前致謝。 :)
哎@Raghunandan我試圖按照你的代碼,但是有很多方法和功能,我仍然不知道,因爲我仍然是Android的新手,所以我沒有嘗試它。有解決它的另一種方法嗎? – Jeongbebs
如果有別的方法可以發佈另一種解決方案。但是你的重複你的問題是不需要的。 – Raghunandan
沒問題。謝謝! – Jeongbebs