タブのコンテンツの取り扱い...どのようにアンドロイドで?
-
20-09-2019 - |
質問
私は2つのタブを持つtabactivityを持っています。
この私がEDITTEXTいるtabactivityとボタンでローカルデータベースを検索します。
私はtabcontentとしてlistactivityクラスを持っています。それがでframeLayoutで示します。
私はtabactivityであるのEditTextに入力されたテキストに基づいて、そのlistactivityをリフレッシュしたい。
これを行うにはどのように?
私は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でこのメソッドを呼び出す
EditText et1=(EditText) findViewById(R.id.EditText01);
String temp=et1.getText().toString();
BruTube_Videos vdo_obj=new BruTube_Videos();
vdo_obj.search(temp);
それはlogcatで例外を示しています:
2月12日16:58:26.623:VERBOSE / BruTube_Videos(227):brutube検索における例外:java.lang.IllegalStateException:のonCreate前の活動に利用できないシステムサービス()
私はそれを管理することができますか?
感謝ます。
解決
BruTube_Videos vdo_obj=new BruTube_Videos();
Activity
のコンストラクタを呼び出すことはありません。あなたがそれらを開始するには、Androidを伝える - あなたは活動を作成することはありません。それはあなたのエラーの発生源である。
私は強く、完全に活動を取り除くことをお勧めし、TabActivity
上に保持単一Views
持っている - あなたの編集フォーム、お使いのListView
である1のレイアウトであるものを。唯一のアクティビティがあるので、次に、あなたは、コードがどこに行くのと混乱はありません。これは、プログラミング、メモリ、CPU、およびバッテリーの利用の観点からも、より効率的である。
所属していません StackOverflow