android - 选项卡内容处理....如何在 android 中?

标签 android android-emulator android-widget

我有一个带有两个选项卡的 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/

相关文章:

java - 如何在解析查询中包含超时?

android - 签署 android bundle : Execution failed for task ':app:signReleaseBundle' 时出错

android - Google Play In-app billing version 3 购买的服务器端验证

android - 未按预期看到 logcat 语句

Android 权限拒绝 : broadcasting Intent

android - Onclick 监听器未在 fragment 寻呼机适配器中触发

android - onLocationChanged 永远不会被调用 Emulator

android - 使用 LinearLayout 模拟首选项外观/感觉

android - 如何从 HomeScreen Widget 调用 Activity 中的函数

android - 侧加载即时应用程序失败 : Reading bundle timed out