저는 ListFragments로 처음으로 작업하고 있습니다. sqlite 데이터베이스에서 데이터를 표시하고 싶습니다.ListFragment 및 컨텍스트
내 문제 : 컨텍스트를 검색 할 수 없습니다.
ListFragment-를 확장하는 클래스에서 this.getActivity()를 시도했지만 컨텍스트가 null입니다.
그런 다음 정적 변수로 내 응용 프로그램의 첫 번째 활동 (응용 프로그램을 시작한 후 표시되는 UI)의 컨텍스트를 저장하려고했습니다. 그러나 이것이 올바른 맥락인가?
static Context context;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Setting the context
context = this;
setContentView(R.layout.main);
}
public static Context getContext() {
return context;
}
데이터베이스를 쿼리 할 때 예외가 발생하지 않지만 커서는 항상 비어 있습니다. 내 sqlite 데이터베이스로 보았다 - 나는 데이터의 3 행 (그래서 커서가 비어 있으면 안된다).
데이터베이스에서 데이터를 쿼리에 대한 나의 코드 : 나는 올바른 컨텍스트를 얻는 방법
Cursor cursor = null;
try{
open();
cursor = database.rawQuery("select _id, surname, prename, street, zipcode, telephone, email from "+Database.getMyDbTable()+";", null);
}catch(Exception ex){
Log.e(TAG, "Could not get list");
CharSequence text = "Die Liste kann nicht erstellt werden!";
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}
Log.d(TAG, "Cursor "+cursor);
close();
를?
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Getting the data from the Database
Context myContext = getActivity();
Log.d(TAG, "Context "+myContext);
contactListManager = new ContactList(myContext);
Log.d(TAG, "ContactListManager "+contactListManager);
Cursor cursor = contactListManager.fetchAllItems();
Log.d(TAG, "Cursor "+cursor);
: 나는에서 onCreate 방법을 수정 한
https://github.com/artem-zinnatullin/Android-List-Fragment-Tutorial
: (나는 목록과 결합 탭 레이아웃을 가지고 원하는대로)
나는 당신이 당신의 단편에 뭔가 잘못된 생각을하고 있다고 생각합니다. 귀하의 활동에 적절하게 추가 되었습니까? 그리고 this.getActivity()를 시도 할 때 표시됩니까? 그것은 null이 될 수 없습니다. –
문자열 값 배열을 사용하여 ListFragment를 테스트했습니다. 이는 내 앱에 표시됩니다. 충돌이 없습니다. 누구든지 ListFragment 작업에 대한 좋은 자습서를 알고 있습니까 - 나는 주제를 이해하는 데 여전히 문제가 있음을 인정해야합니다. – user1800825