我看了其他的问题,博客和文件,似乎不能找到正确的答案,以满足我的需要。我有两个活动,A和B,当我启动活动B(从A开始)时,我希望它瞬间打开,然后在显示进度条的同时加载所有内容,而不是只在内容加载时才打开活动,让它看起来像是冻结了两秒钟。Youtube应用程序或Play Store就是一个例子。
这就是我得到的:
Button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent goB = new intent(ActivityA.this, ActivityB.class);
startActivity(goB);
}
});
public class ActivityB extends AppCompatActivity implements OnDateSelectedListener, OnMonthChangedListener {
private static final DateFormat FORMATTER = SimpleDateFormat.getDateInstance();
@Bind(R.id.calendarView) MaterialCalendarView widget;
@Bind(R.id.textView) TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_c_calendar);
ButterKnife.bind(this);
widget.setOnDateChangedListener(this);
widget.setOnMonthChangedListener(this);
textView.setText(getSelectedDatesString());
}
@Override
public void onDateSelected(@NonNull MaterialCalendarView widget, @Nullable CalendarDay date, boolean selected) {
textView.setText(getSelectedDatesString());
}
private String getSelectedDatesString() {
CalendarDay date = widget.getSelectedDate();
if (date == null) {
return "No Selection";
}
return FORMATTER.format(date.getDate());
}
@Override
public void onMonthChanged(MaterialCalendarView widget, CalendarDay date) {
}
}
更新:我遵循了Hitesh Sahu的建议,现在我只有一个活动,一个容器被替换为每个片段,我假设在后台加载xml内容的方式对于一个片段和一个活动是相同的,但是如果有任何区别,请提及。
可能的解决办法
>
根据“我不是专家”,我猜测您可能会在每次屏幕切换时创建新的活动,而可能没有清除旧的活动或重用现有的活动。同样,这是我的猜测,我没有看到你的代码,但我看到开发人员做这样的错误。很快,你的应用程序的性能将下降,随着时间的推移,你的应用程序将结束消耗内存。
如何解决这个问题:-用片段替换活动切换片段比切换活动更快,而且你可以重用它们(更多关于这个问题)。
如何解决这个问题:-已经在其他答案中解释过了。
我试图通过按cardview开始另一项活动,cardview有一个朋友查找id。但是当我写回家时。java它给了我setOnClickListener中的问题。在homeActivity中,它告诉我无法解析“homeActivity”中的方法“homeActivity”。因为
我有一个疑问,想澄清一些关于包含多个片段的活动的观点。 我有10个片段与一个活动(HomeActivity.java)相连;此活动包含一个导航抽屉和工具栏,带有多个图标,如搜索、添加、删除、后退按钮等。 我遵循的结构如下:, 用户点击抽屉菜单中的任何项目,我正在加载片段, 碎片加载- 我正在根据HomeActivity本身中的片段更改标题名称,基于工具栏。 我的导航抽屉项目只有一个片段,在frag
我想在Android上启动另一个活动,但出现以下错误: 请指定构造函数调用;分类器Page2没有伴随对象 实例化类后。我应该怎么做来纠正错误?我的代码:
我有一个应用程序的屏幕小部件。单击此小部件时,会打开“DeveloperMode”设置。但在一些设备上,应用程序因以下消息而崩溃。 引起:android.util.AndroidRuntimeExcture:从活动上下文外部调用starActive()需要FLAG_ACTIVITY_NEW_TASK标志。这真的是你想要的吗? 我曾尝试使用addFlags和setFlags添加这一行,但仍然存在相同
问题内容: 如标题所示,方案是:首次使用该应用程序时,显示屏幕A。完成屏幕A后,该按钮将引导您进入屏幕B。从现在开始,直到永远,屏幕B始终是主屏幕“启动应用程序时,屏幕上显示“屏幕(活动?)”。我正在尝试这2天,但我收不到。有人请解释一些细节,甚至最好给我扔一个code.rar,这样我就可以研究它。我为此感到疯狂!!! 问题答案: 只需在AndroidManifest.xml中将您的Activit
我已经更改了我想首先运行的活动从主活动到另一个。我通过编辑Android清单并移动这段代码做到了这一点: 我的清单现在是这样的: 当我运行它在我的手机和平板电脑(从android工作室)我得到下面的错误和应用程序不启动自动像以前一样。但是当我点击图标时,它通常首先以正确的活动开始。 但是当我使用模拟器时,正确的活动只在第一次安装时启动,而之前设置的活动则会启动。 我不知道为什么会这样。我完全没有安