- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
基本上我在我的应用程序中使用 ActivityGroup。我有这种情况:
我有 Activity A 的 Tabhost。
Activity A 创建 childActivity B。
A ---> B
startChildActivity("CollectionList", new Intent(this,MyCollectionList.class));
Activity B 创建了 3 个子 Activity C、D。
B ---> C (childActivity of B)
startChildActivity("Recommended", new Intent(MyCollectionList.this,Recommended.class));
B ---> D (childActivity of B)
startChildActivity("ExpectSoon", new Intent(MyCollectionList.this,ExpectSoon.class));
B也创建了另一个childActivity,命名为E。
B ---> E
Intent previewMessage = new Intent(getParent(), MyCollectionId.class);
TabGroupActivity parentActivity = (TabGroupActivity)getParent();
parentActivity.startChildActivity("MyCollectionId", previewMessage);
所以基本上 Activity C 和 D 也可以启动 Activity E,使用:
Intent previewMessage = new Intent(getParent(), MyCollectionId.class);
TabGroupActivity parentActivity = (TabGroupActivity)getParent();
parentActivity.startChildActivity("MyCollectionId", previewMessage);
我重写了 onBackPressed 方法,所以我可以控制后退按钮。它看起来像这样:
private ArrayList<String> mIdList;
@Override
public void onBackPressed () {
int length = mIdList.size();
if ( length >=1) {
Activity current = getLocalActivityManager().getActivity(mIdList.get(length-1));
current.finish();
}
}
所以我的问题是,当我在 Activity E 中并按下后退按钮时,我的应用程序关闭。我遇到的另一个问题是 Activity E 中的警报对话框。
Button deactivate = (Button) findViewById(R.id.deactivate);
deactivate.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
new AlertDialog.Builder( getParent() )
.setTitle( "Warning" )
.setMessage( "The collection will be removed completely from the device.You can reactivate it later again.This operation requires internet connection." )
.setPositiveButton( "Go ahead", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Log.d("AlertDialog", "Positive");
}
})
.setNegativeButton( "Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Log.d("AlertDialog","Negative");
}
})
.show();
}
});
当我从 A 启动 Activity E 时,当我单击将显示警报对话框的按钮时,一切正常。但是当我从 C 或 D 启动 Activity E 时,它会抛出异常:
08-15 15:48:22.819: ERROR/AndroidRuntime(32440): FATAL EXCEPTION: main
08-15 15:48:22.819: ERROR/AndroidRuntime(32440): android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@4630ea20 is not valid; is your activity running?
08-15 15:48:22.819: ERROR/AndroidRuntime(32440): at android.view.ViewRoot.setView(ViewRoot.java:509)
08-15 15:48:22.819: ERROR/AndroidRuntime(32440): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
08-15 15:48:22.819: ERROR/AndroidRuntime(32440): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
08-15 15:48:22.819: ERROR/AndroidRuntime(32440): at android.view.Window$LocalWindowManager.addView(Window.java:424)
08-15 15:48:22.819: ERROR/AndroidRuntime(32440): at android.app.Dialog.show(Dialog.java:241)
08-15 15:48:22.819: ERROR/AndroidRuntime(32440): at android.app.AlertDialog$Builder.show(AlertDialog.java:802)
08-15 15:48:22.819: ERROR/AndroidRuntime(32440): at com.stampii.stampii.mystampii.MyCollectionId$4.onClick(MyCollectionId.java:75)
08-15 15:48:22.819: ERROR/AndroidRuntime(32440): at android.view.View.performClick(View.java:2408)
08-15 15:48:22.819: ERROR/AndroidRuntime(32440): at android.view.View$PerformClick.run(View.java:8817)
08-15 15:48:22.819: ERROR/AndroidRuntime(32440): at android.os.Handler.handleCallback(Handler.java:587)
08-15 15:48:22.819: ERROR/AndroidRuntime(32440): at android.os.Handler.dispatchMessage(Handler.java:92)
08-15 15:48:22.819: ERROR/AndroidRuntime(32440): at android.os.Looper.loop(Looper.java:144)
08-15 15:48:22.819: ERROR/AndroidRuntime(32440): at android.app.ActivityThread.main(ActivityThread.java:4937)
08-15 15:48:22.819: ERROR/AndroidRuntime(32440): at java.lang.reflect.Method.invokeNative(Native Method)
08-15 15:48:22.819: ERROR/AndroidRuntime(32440): at java.lang.reflect.Method.invoke(Method.java:521)
08-15 15:48:22.819: ERROR/AndroidRuntime(32440): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
08-15 15:48:22.819: ERROR/AndroidRuntime(32440): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
08-15 15:48:22.819: ERROR/AndroidRuntime(32440): at dalvik.system.NativeStart.main(Native Method)
编辑:
我的 startChildActivity 看起来像这样:
public void startChildActivity(String Id, Intent intent) {
Window window = getLocalActivityManager().startActivity(Id,intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
if (window != null) {
mIdList.add(Id);
setContentView(window.getDecorView());
}
最新的 LogCat,同时在 ActivityE 中使用 Recommended.parentActivity:
new AlertDialog.Builder( Recommended.parentActivity )
08-15 16:33:53.509: ERROR/AndroidRuntime(1967): FATAL EXCEPTION: main
08-15 16:33:53.509: ERROR/AndroidRuntime(1967): java.lang.NullPointerException
08-15 16:33:53.509: ERROR/AndroidRuntime(1967): at com.android.internal.app.AlertController$AlertParams.<init>(AlertController.java:743)
08-15 16:33:53.509: ERROR/AndroidRuntime(1967): at android.app.AlertDialog$Builder.<init>(AlertDialog.java:273)
08-15 16:33:53.509: ERROR/AndroidRuntime(1967): at com.stampii.stampii.mystampii.MyCollectionId$4.onClick(MyCollectionId.java:62)
08-15 16:33:53.509: ERROR/AndroidRuntime(1967): at android.view.View.performClick(View.java:2408)
08-15 16:33:53.509: ERROR/AndroidRuntime(1967): at android.view.View$PerformClick.run(View.java:8817)
08-15 16:33:53.509: ERROR/AndroidRuntime(1967): at android.os.Handler.handleCallback(Handler.java:587)
08-15 16:33:53.509: ERROR/AndroidRuntime(1967): at android.os.Handler.dispatchMessage(Handler.java:92)
08-15 16:33:53.509: ERROR/AndroidRuntime(1967): at android.os.Looper.loop(Looper.java:144)
08-15 16:33:53.509: ERROR/AndroidRuntime(1967): at android.app.ActivityThread.main(ActivityThread.java:4937)
08-15 16:33:53.509: ERROR/AndroidRuntime(1967): at java.lang.reflect.Method.invokeNative(Native Method)
08-15 16:33:53.509: ERROR/AndroidRuntime(1967): at java.lang.reflect.Method.invoke(Method.java:521)
08-15 16:33:53.509: ERROR/AndroidRuntime(1967): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
08-15 16:33:53.509: ERROR/AndroidRuntime(1967): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
08-15 16:33:53.509: ERROR/AndroidRuntime(1967): at dalvik.system.NativeStart.main(Native Method)
最佳答案
你可以做一件事在 ActivityA.java 中
public static Activity parentActivity;
onCreate()
{
parentActivity=this;
}
// start your child activity ie(E)
ActivityE.java
Button deactivate = (Button) findViewById(R.id.deactivate);
deactivate.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
new AlertDialog.Builder( ActivityA.parentActivity.this )
.setTitle( "Warning" )
.setMessage( "The collection will be removed completely from the device.You can reactivate it later again.This operation requires internet connection." )
.setPositiveButton( "Go ahead", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Log.d("AlertDialog", "Positive");
}
})
.setNegativeButton( "Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Log.d("AlertDialog","Negative");
}
})
.show();
}
});
关于Android Childactivity getParent 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7065108/
我必须隐藏我的 parent span就在之上标记并显示 span就在它下面。(在 标签上单击它时)。 我需要使用 getParent() 因为它们是另一个相同的 重复 我的 HTML 是
我被 System.IO.Directory.GetParent 的一个非常奇怪的行为击中了脸方法: string path1 = @"C:\foo\bar"; DirectoryInfo paren
我定义了以下 XAML。
我正在制作一个文件系统,但不知道如何添加“父”属性。 目前我认为我的问题是我无法调用尚未声明的函数,但我不知道如何摆脱这种循环逻辑。 当前错误是: Uncaught TypeError: inputD
我是 Symfony2 的新手,我正在关注 YouTube Tutorial for the Symfony FOSUserBundle 上的教程(FTW!)。 在 7.40 分钟左右,它说添加一个名
我做了一个实验。首先我想声明一下 html:
我对 Java 还很陌生,所以请耐心等待。我有一个类,它必须获取页面的父级并返回它。当我导航到节点的最顶部时,我得到一个空指针异常,即读取 for(Page page = to........) 的行
所以这是一个更大程序的片段。以下代码中未显示的是我已正确设置的 JFrame“成帧器”,它还包含一个带有各种 JLabel 的 JPanel。我在下面的代码中的目标是一种访问对象“face”的方法,该
基本上我在我的应用程序中使用 ActivityGroup。我有这种情况: 我有 Activity A 的 Tabhost。 Activity A 创建 childActivity B。 A --->
当执行下面的代码时,我可以在我的 LogCat 中验证 getParent 返回另一个 ViewGroup,然后返回 FrameLayout(它返回 LinearLayout)。通常我希望 getPa
我已经实现了这个函数,它从一个节点递归搜索并返回一个节点,该节点的子节点具有一些给定的节点数据,如果找到,则返回 0。 Node * BinaryTree::searchParent ( T key
我正在尝试调用 CWnd 类的函数 GetParent()。每次都会抛出异常。我正在从工作线程调用该函数。 这是导致异常的行:CWnd* parent = this->GetParent(); 我也试
运行这段代码 var path1 = @"C:\Temp\SomeFolder"; var path2 = @"C:\Temp\SomeFolder\"; Console.WriteLine(Dire
我刚遇到我不明白的行为: Path path = Paths.get("somefile.txt"); System.out.println(path.getAbsolutePath()); Syst
我需要对其中一个标签内的文本进行一些操作,并希望为其找到的每个文本节点获取父标签 代码: import lxml.etree import pprint s = ''' data text
本文整理了Java中am.widget.zxingscanview.ZxingForegroundView.getParent()方法的一些代码示例,展示了ZxingForegroundView.ge
我有一些漂亮的样板 Java 代码,它使用 tg.getParent() 执行 while 循环来获取根线程组。它已经在四种不同的环境(一个 Windows 和三个 Linux)上运行了几个月。最近,
当我为 JpopUpMenu 打印 getParent() 时,我在两个不同的场景中得到以下两个打印结果。 有什么区别, javax.swing.JPanel[,558,84,167x312, lay
好的,我正在开发一个基于 JGraph 示例的 Eclipse 插件。问题是我无法真正让“保存”方法起作用,简而言之,该程序的工作原理如下:- 我有一个带有 init() 方法的DiagramEdit
使用 JavaFX,有没有一种方法可以阻止 GUI 树中的节点获取对其父节点的引用?例如给定这个结构 AnchorPane > BorderPane > Pane 我如何确定最后一个 Pane 无法通
我是一名优秀的程序员,十分优秀!