2013-09-01 4 views
0

내로드 버튼의 onclicklistener에서 sqlite의 데이터로 listview를 채우려고했습니다.sqlite를 사용하여 데이터베이스에서 ListView를 채울 수 없습니다.

그러나 내 코드에서 뭔가 작동하지 않습니다. 여기 내 코드가있다.

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은 데이터베이스에서 이름과 점수를 얻고 있지만 데이터를 가져올 수있는 신호는 없다고 가정합니다. 그러나 삽입 된 데이터는 삭제할 수 있습니다. 또한로드 단추는 목록보기에 아무 것도 표시하지 않습니다. 도와주세요. 미리 감사드립니다. : 데이터 모델 SQLite는이

+0

를 ArrayAdapter와, (예를 SimpleCursorAdapter에 대한) CursorAdapter 또는 그 서브 클래스 중 하나를 사용하는 것입니다하지만 거기 DB를 아직 안드로이드에서 새롭기 때문에 아직 모르는 많은 메소드와 함수가 있으므로 시도하지 않았습니다. 그것을 해결하는 또 다른 방법이 있습니까? 누군가 다른 솔루션을 게시하는 또 다른 방법이 있다면 – Jeongbebs

+0

그러나 필요하지 않은 질문을 복제하십시오. – Raghunandan

+0

괜찮아. 감사! – Jeongbebs

답변

0

경우 가장 확실한 방법은 없습니다 내가 코드를 따라하려고 @Raghunandan 헤이

+0

cursoradapter를 변경하면 cursoradapter가 일반이 아니며 매개 변수화 할 수 없다고 표시됩니다. – Jeongbebs

+0

SimpleCursorAdapter를 사용하려고했지만 eclipse가 인수를 제거해야한다고 말합니다. :( – Jeongbebs

+0

Google 용 : SimpleCursorAdapter 튜토리얼. 그 중 많은 수가 있습니다. – pskink

관련 문제