2013-10-02 4 views
1

사전 검색과 같은 일식을 사용하여 멋진 애플리케이션을 만들었습니다. 기본적으로 검색 가능한 용어 목록입니다. 사용자가 존재하지 않는 용어를 검색 할 때 새로운 활동을 만들고 싶습니다. 지금이 순간에 목록보기는 비어 있고 이것이 매우 도움이된다고 생각하지 않으므로 적어도 "그러한 용어 없음"또는 "이 새로운 용어를 제출하십시오"라고하는 팝업 또는 뭔가를 갖고 싶습니다. 공허함보다 뭔가.결과가 없을 때 메시지를 표시하는 데이터베이스 쿼리

이 챌린지에 대한 답변을 검색 할 때마다 데이터베이스 문제와 관련된 질문이 포격 당합니다.

결과가 없거나 0 인 경우 아래 코드에 조건을 추가 할 수 있습니까?

public void search(View view) { 
    cursor = db.rawQuery(
     "SELECT _id, term, definition FROM term WHERE term LIKE ?", 
     new String[]{"%" + searchText.getText().toString() + "%"}); 

    adapter = new SimpleCursorAdapter(
     this, 
     R.layout.term_list_layout, 
     cursor, 
     new String[] {"term", "definition"}, 
     new int[] {R.id.term, R.id.definition}); 

    setListAdapter(adapter); 
} 

미리 감사드립니다.

답변

1

당신은 어떤 결과

체크 내가 이해한다면이

if(cursor.moveToFirst()){ 
    //cursor is no empty, set up list 
    adapter = new SimpleCursorAdapter(
    this, 
    R.layout.term_list_layout, 
    cursor, 
    new String[] {"term", "definition"}, 
    new int[] {R.id.term, R.id.definition}); 

    setListAdapter(adapter); 
}else{ 
    //cursor is empty start new activity 
} 
+0

입니다 올바른 ID를 지정하여 XML에서보기를 설정할 수 있습니다. 이것은 좋은 해결책 일 수 있습니다. 그러나 아무런 결과 조건이 발생하지 않을 때 더 나아가서 활동을 시작하고 싶습니다. 결과가 false 일 경우 -> 시작 활동을 수행 할 수있는 방법이 있었으면합니다 ... – user2838830

+0

그러면 커서가 비어 있는지 확인한 다음 아무 것도하지 않습니다. 비어있는 경우 새 활동을 시작하지 않으면 목록을 표시하십시오. – tyczj

+0

내 수정 내역 확인 방법 확인 – tyczj

0

같은 커서 편집이없는 경우 보여주기 위해 당신이 원하는대로와 목록보기의 setEmptyView()를 사용할 필요가 귀하의 질문에 올바르게, 당신은 귀하의 목록보기에 대한 "빈"보기를 사용하고 싶습니다. 목록보기에 항목이 없을 때마다이보기가 표시됩니다.

mMyListView.setEmptyView(findViewById(R.id.emptyView)); 

또한 좋아 @android:id/empty

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

<TextView android:id="@android:id/empty" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:text="List is empty" 
     android:gravity="center"/> 
+0

예, 당신은 제 질문은 꽤 가까이에 있습니다. 이것은 좋은 해결책 일 수 있습니다. 그러나 아무런 결과 조건이 발생하지 않을 때 더 나아가서 활동을 시작하고 싶습니다. 나는 성명서를 할 수있는 어떤 방법이 있기를 바랐다. 결과가 거짓이면 -> 활동을 시작하십시오 ... – user2838830

+0

입력 한 후 어댑터를 점검하십시오. 결과가 포함 된 경우 새 활동을 시작하십시오. – Kuffs

관련 문제