我有一个带有两个选项卡的 tabactivity。
在这个标签 Activity 中,我有编辑文本和按钮来搜索本地数据库。
我有一个 listactivity 类作为 tabcontent。它由框架布局显示。
我想根据在 tabactivity 中的 edittext 中输入的文本刷新 listactivity。
怎么做?
我在列表 Activity 中创建了一个方法:
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 中显示异常:
02-12 16:58:26.623: VERBOSE/BruTube_Videos(227): brutube 搜索异常:java.lang.IllegalStateException: 系统服务在 onCreate() 之前对 Activity 不可用
我该如何管理它?
谢谢。
最佳答案
BruTube_Videos vdo_obj=new BruTube_Videos();
切勿在 Activity
上调用构造函数。您永远不会创建 Activity ——您告诉 Android 启动它们。那是你错误的根源。
我强烈建议您完全摆脱 Activity,让一个 TabActivity
保持在 Views
上——一个是您编辑表单的布局,一个那就是你的 ListView
。然后,您就不会对代码的去向感到困惑,因为只有一项 Activity 。从编程、内存、CPU 和电池利用率的角度来看,这也更加高效。
关于android - 选项卡内容处理....如何在 android 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2258373/