2010-02-13 3 views
2

저는 두 개의 탭으로 탭을 가지고 있습니다.탭 내용 처리 .... 어떻게 안드로이드에?

이 Tabaivity에서 나는 edittext 및 버튼을 사용하여 로컬 데이터베이스를 검색합니다.

나는 탭 활동으로 listactivity 클래스가 있습니다. 그것은 framelayout에 의해 보여줍니다.

나는 tabactivity에있는 edittext에 입력 된 텍스트를 기반으로 그 listactivity를 새로 고침하고 싶습니다.

어떻게 수행하나요?

public void search(String temp) { 
String val=temp; 
try{ 
c=BruTube_Videos.this.getContentResolver().query(Constants.CONTENT_URI, null, Constants.TITLE+" like '%"+val+"%'", null, "DATETIME("+Constants.PUBLISHED+") DESC"); 
}catch(Exception e){ 
Log.v(TAG, "exp in cursor"); 
} 
show(c); 
} 

인보 이런 tabactivity이 방법 :

02-12 16 :

EditText et1=(EditText) findViewById(R.id.EditText01); 
String temp=et1.getText().toString(); 
BruTube_Videos vdo_obj=new BruTube_Videos(); 
vdo_obj.search(temp); 

그것이 로그 캣에서 예외를 도시

가 나는 listactivity에있어서 만들어 : 58 : 26.623 : VERBOSE/BruTube_Videos (227) : 브루투브 검색 예외 : java.lang.IllegalStateException : onCreate() 전에 활동에서 시스템 서비스를 사용할 수 없음

어떻게 관리 할 수 ​​있습니까?

감사합니다.

답변

1
BruTube_Videos vdo_obj=new BruTube_Videos(); 

Activity에서 생성자를 호출하지 마십시오. 당신은 결코 활동을 만들지 않습니다 - 당신은 안드로이드가 시작하도록 지시합니다. 그것이 귀하의 오류의 근원입니다.

모든 활동을 없애고 Views을 보유하는 단일 TabActivity - 편집 폼의 레이아웃 인 하나, 즉 ListView을 보유하도록 강력히 권합니다. 그렇다면 하나의 활동 만 있기 때문에 코드가 어디로 가는지 혼동하지 않아도됩니다. 이것은 또한 프로그래밍, 메모리, CPU 및 배터리 사용의 관점에서 더 효율적입니다.

+0

답장을 보내 주셔서 감사합니다. 하나의 목록 항목에 대한 레이아웃을 사용자 정의했습니다. 그래서 나는 사용자 정의 된 simpleCursorAdapter를 사용해야한다. listview에서 cursoradapter를 어떻게 사용할 수 있습니까? 코드 예제를 알려주세요. 여기 – Praveen

+0

보기 동적으로 커서 입력에 따라 달라집니다 ... – Praveen

+0

아무도 이것을 수행하는 방법을 자세히 설명하는 몇 가지 코드를 제공 할 수 있습니까? 보기를 사용하는 경우에도이를 수행하는 방법이 명확하지 않습니다. – greg7gkb