我试图在两个活动之间建立监听器接口Act1 and Act2
。Act1
将开始Act2
。如果发生了某些事件Act2
,它将通知它Act1
。问题是我正在使用Intent开始新活动,那么Act1如何将自己分配为Act2接口的侦听器?
Act1.java
public class Act1 extends ActionBarActivity implements
ActionBar.OnNavigationListener {
ActionBar actionbar;
Intent pizzaIntent;
boolean visibleFirstTime = true;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menutab);
//set actionbar here
}
@Override
public boolean onNavigationItemSelected(int arg0, long arg1)// item pos,
// itemid
{
switch (arg0) {
case 0:
if(this.visibleFirstTime == false)
{
if(pizzaIntent == null)
{
pizzaIntent = new Intent(this,Act2.class);
//how to call setChangeListener?
}
startActivity(pizzaIntent);
}
else
this.visibleFirstTime = false;
break;
case 1:
System.out.println("selected: " + arg0);
break;
case 2:
System.out.println("selected: " + arg0);
break;
case 3:
System.out.println("selected: " + arg0);
break;
default:
break;
}
return true;
}
}
Act2.java
public class Act2 extends Activity {
selectionChangeListener listener;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pizza_slice_selection);
}
public void setChangeListener(selectionChangeListener listener)
{
this.listener = listener;
}
private interface selectionChangeListener
{
public void selectionMadeAtIndex(int index);
}
}
注意: 请不要建议我使用片段。我现在要使用活动。
您是否考虑过使用LocalBroadcastManager?
在Act1的onCreate中:
act2InitReceiver= new BroadcastReceiver()
{
@Override
public void onReceive(Context context, Intent intent)
{
// do your listener event stuff
}
};
LocalBroadcastManager.getInstance(this).registerReceiver(act2InitReceiver, new IntentFilter("activity-2-initialized"));
在Act1的onDestroy中:
LocalBroadcastManager.getInstance(this).unregisterReceiver(act2InitReceiver);
在Act2的onCreate中:
LocalBroadcastManager.getInstance(this).sendBroadcast(new Intent("activity-2-initialized"));
如果代码无法编译,请给我评论,我是手工编写的。
我有一个关于Android动画的问题。我做了一个应用程序,其中有很多产品,你可以切换产品现在通过滑动屏幕左右(到下一个产品在列表),但它只是加载像任何其他活动现在。 我的产品就是活动,现在是这样切换的:
问题内容: 有两个Java文件,Server.java和Client.java。两者都放在单独的容器中。 DOCKER FILES: 我用于服务器的dockerfile(位于名为“ Server”的文件夹中)为: 客户端的dockerfile(位于名为``Client’‘的文件夹中)为: 构建容器: 使用以下容器构建容器 运行容器: 我使用命令运行图像。然后我首先运行serverimage。 我得
假设你有两个活动-A和B,你从A开始B。在B中,你有一个任务。如果任务完成,您希望返回到按下when back键,如果没有,您希望取消整个应用程序。但在解除后,你可以从最近的应用程序菜单中恢复B。如果在那之后你需要同样的后退键的行为。 因此,我想放弃一个活动或整个应用程序(但简历的可能性)。有什么办法可以做到这一点吗?
问题内容: 以下查询: 什么也不返回。 我应该有足够多的数据来使查询工作。我究竟做错了什么? 问题答案: 您的第二个日期早于您的第一个日期(即,您正在查询2010年9月29日至2010年1月30日之间)。尝试颠倒日期的顺序:
我有2个Docker容器:App 应用程序-包含php应用程序代码的简单容器。它仅用于存储代码并将代码传递到远程Docker主机。 应用映像Dockerfile: Web服务容器,由PHP-FPM Nginx组成。 Web image Dockerfile: 我的问题:是否可以通过套接字链接Web容器和App容器? 主要原因是使用应用程序容器将更新的代码部署到远程Docker主机。使用卷/命名卷在
问题内容: 问题是: 假设我们有两个正在运行的Node.js进程:和。 结果中有返回的函数。 是否有一种从内部调用并获得结果的方法? 从我对Node.js的了解中,我仅找到一种使用套接字进行通信的解决方案。但是,这不是理想的,因为它将需要一个进程在端口上侦听。如果可能,我希望避免这种情况。 编辑: 经过一些问题,我很想补充一点,在层次结构中不能是的子进程,而恰恰相反。同样,如果有帮助,则只能有一个