- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用另一个类在显示主要 Activity 时在后台运行一些东西,并将该 Activity 的上下文传递给这个后台类。我正在从此后台类开始另一个 Activity ,但无法在此处调用 overridePendingTransition
,因为“方法 overridePendingTransition(int, int) 未针对 BackgroundClass 类型定义。”
public class GetUPC extends AsyncTask<Void, Void, Void>
{
@Override
protected void onPreExecute()
{
...
}
@Override
protected Void doInBackground(Void... arg0)
{
...
boolean dairy;
if(theDairy.equals("N"))
{
//milk test
dairy=true;
}
else
{
dairy=false;
}
//depending on if there is a warning it will either display the warning screen or skip it
if(dairy)
{
Intent intent_warn = new Intent(context, WarningScreen.class);
intent_warn.putExtra("Name", str_name);
intent_warn.putExtra("Size", str_size);
intent_warn.putExtra("Price", str_price);
intent_warn.putExtra("Carbs", str_carbs);
intent_warn.putExtra("Protein", str_protein);
intent_warn.putExtra("Fiber", str_fiber);
intent_warn.putExtra("Sugar", str_sugar);
intent_warn.putExtra("SatFat", str_satFat);
intent_warn.putExtra("TotFat", str_totFat);
intent_warn.putExtra("Cholesterol", str_cholesterol);
intent_warn.putExtra("Sodium", str_sodium);
intent_warn.putExtra("Potassium", str_potassium);
intent_warn.putExtra("Calories", str_calories);
intent_warn.putExtra("Warning", "Contains Dairy");
intent_warn.putExtra("WarningRed", true);
Log.e("Warning",intent_warn.getExtras().getString("Warning"));
context.startActivity(intent_warn);
overridePendingTransition(R.layout.fade_in, R.layout.fade_out); //THIS PART ISN'T WORKING//
}
else
{
Intent intent_menu = new Intent(context, DisplayScreen.class);
intent_menu.putExtra("Name", str_name);
intent_menu.putExtra("Size", str_size);
intent_menu.putExtra("Price", str_price);
intent_menu.putExtra("Carbs", str_carbs);
intent_menu.putExtra("Protein", str_protein);
intent_menu.putExtra("Fiber", str_fiber);
intent_menu.putExtra("Sugar", str_sugar);
intent_menu.putExtra("SatFat", str_satFat);
intent_menu.putExtra("TotFat", str_totFat);
intent_menu.putExtra("Cholesterol", str_cholesterol);
intent_menu.putExtra("Sodium", str_sodium);
intent_menu.putExtra("Potassium", str_potassium);
intent_menu.putExtra("Calories", str_calories);
intent_menu.putExtra("Warning", "Contains no allergens");
intent_menu.putExtra("WarningRed", false);
Log.e("Warning",intent_menu.getExtras().getString("Warning"));
context.startActivity(intent_menu);
}
Log.e("KYLE_DATA_UPCH",str_name+" "+str_price+""+str_size);
}
}
catch (JSONException e)
{
e.printStackTrace();
}
}
else
{
Log.e("ServiceHandler", "Couldn't get any data from the url");
_errorCode=3;
}
return null;
}
@Override
protected void onPostExecute(Void result)
{
...
}
}
最佳答案
所以我实际上能够通过在上下文中调用 overridePendingTransition
并将其转换为 Activity 来解决问题。
((Activity) context).overridePendingTransition(R.layout.fade_in, R.layout.fade_out);
我意识到这不是最佳实践,并且可能会弄乱更复杂的应用程序,但为了我们现在的目的,我认为这没问题。我最终想研究@bariscan Kayaoglu 的解决方案,因为它看起来更可靠。
关于android - 有没有办法从不扩展 Activity 类的类中调用 `overridePendingTransition`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22354076/
切换 Activity 时看不到动画第一个 Activity ---------------- 第二个 Activity 无动画这是 fragment private void StartAn
我是 Xamarin Android 编程以及一般 Android 编程的初学者。我成功运行了以下代码并达到了预期效果: //in the context of the main Activity S
尝试使用 overridePendingTransition 将自定义动画应用于我的 Activity 更改。问题是我的主题应用程序在 Activity 中使用了彩色背景,并且在设置动画时可以看到黑色
我有两个使用 Theme.Holo.Wallpaper.NoTitleBar 样式的 Activity ,我想为它们的过渡设置动画。我在 4 个不同的 xml 文件中创建了 4 个这样的动画。 lef
当用户更改语言环境时,我想使用新的语言环境重新加载 Activity 。我想在完成 Activity 并再次启动它时创建一个动画过渡。 过渡动画如下: 退出动画是将Activity缩放到屏幕中央。进入
我正在尝试实现一个快速的 SplashActivity,它从右向左滑入,然后随着 MainActivity 向右滑入而向左滑出。目前,动画 XML 已经到位,但它不起作用,启动画面刚刚出现,然后到主要
我正在使用 overridePendingTransition 来设置我自己的 Activity 转换。一切正常,除了我无法更改动画的持续时间,它被忽略了。 slide_down.xml
我有两个 Activity A 和 B。在 A 中,我调用 B: Intent intent = new Intent(this, ActivityB.class); this.startActivi
我发现已经有人问过同样的问题,但解决方案对我不起作用。 我看不到动画。 这样调用: Intent intent = new Intent(this, MyActivity.class); startA
我正在尝试在我的应用中实现过渡,但 overridePendingTransition(anim, anim) 无法正常工作。 我启用了窗口转换 调试代码后,我可以说编译器确实执行了调用,但没有显示出
我正在尝试使用 overridePendingTransition 从服务启动一个 Intent ,它看起来像这样 Intent dialogIntent = new Intent(this,
我想开始一个带有自定义翻译动画的新 Activity ,所以我在 xml 中将 overridePendingTransition 与我的动画一起使用。 overridePendingTransiti
我刚刚发现了 android overrivePendingTransition() 方法。它工作正常,但我有以下问题: 在Settings/Dislpay菜单中,您可以选择不显示动画、部分动画或全部
我试图在两个 Activity 之间滑动,但没有效果。我需要一种特殊的风格吗?我正在研究“Theme.AppCompat.Light.NoActionBar” 我试过“淡入/淡出”过渡,效果很好。但是
基本上,我遇到的问题是只显示进入幻灯片动画;调用 Activity 没有动画。 startActivity(intent); overridePendingTransition(R.a
我想在 Adapter 中运行新的 Activity 使用动画,但是我有一些错误 06-19 09:54:29.253: E/AndroidRuntime(11464): FATAL EXCEPTIO
我有一个应用程序,它使用 overridePendingTransition 在从一个 Activity 转换到另一个 Activity 时执行一些自定义动画。这在 Android 2.0 中可用,但
如何在 GridView `Adapter 上插入 overridePendingTransition?这种方式行不通,没有transition startactivity完美运行 bt.setOnL
我的主要 Activity 使用带有 viewpager 和 FragmentStatePagerAdapter 的 tablayout。我想用我的一个 fragment 中的自定义动画打开一个新 A
我无法弄清楚如何通过按一下按钮将 Activity 滑入和滑出。我想要的是用户按下按钮然后屏幕滑动。我想要的方式是让第一个 Activity (带有按钮的 Activity )向左滑出,而新的第二个
我是一名优秀的程序员,十分优秀!