我正在努力升级Android应用程序(1.6兼容性),该应用程序使用a TabHost来显示3个带有嵌套活动的不同选项卡.
当时我使用ActivityGroup技巧在选项卡中显示嵌套活动,但我对这种方法非常不满意,因为处理某些功能真的很痛苦.
我听说过针对1.6的Fragments API兼容包,Fragment看起来非常适合我想要做的事情(在带有过渡效果和东西的标签中显示嵌套视图/功能)但是我不能让它与它一起工作TabHost(它的意思是使用,Action Bar但在兼容包中没有.
你们有没有人找到在你的应用程序中创建这样一个结构的方法?
我的错误是:
Run Code Online (Sandbox Code Playgroud)ERROR/AndroidRuntime(955): Caused by: java.lang.RuntimeException: Unable启动活动ComponentInfo {com.XXX}:java.lang.IllegalArgumentException:找不到片段MyFragment的id 0x1020011的视图
码
main.xml中
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:layout_weight="1" />
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0" />
</LinearLayout>
</TabHost>
Run Code Online (Sandbox Code Playgroud)
MainActivity.java
public class MainActivity extends TabActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Resources res = getResources();
final TabHost tabs = getTabHost();
TabHost.TabSpec spec;
Intent i;
i …Run Code Online (Sandbox Code Playgroud) java android android-tabhost activitygroup android-fragments
我正在尝试在轮询我的服务器时打开一个进度对话框.该类是一个ActivityGroup,因为它嵌套在选项卡栏中.要在框架内保持视图,需要ActivityGroup.这是我的ActivityGroup类的声明:
public class CheckInActivity extends ActivityGroup{
...
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.checkin);
new LocationControl().execute(this);
Run Code Online (Sandbox Code Playgroud)
现在我的AsyncTask类在同一个CheckInActivityClass中:
private class LocationControl extends AsyncTask<Context, Void, Void>
{
private final ProgressDialog dialog = new ProgressDialog(CheckInActivity.this);
protected void onPreExecute()
{
this.dialog.setMessage("Determining your location...");
this.dialog.show();
}
Run Code Online (Sandbox Code Playgroud)
当我运行给定的应用程序时,它通过与WindowManager $ BadTokenException相关的错误.说明它无法使用未知令牌启动窗口.我尝试制作一个只是常规Activity(而不是ActivityGroup)的示例应用程序,它运行得很好.
有没有人知道如何修改它以使其工作,或解决方法将允许进度条嵌套在选项卡栏中?任何帮助是极大的赞赏.
尝试从活动组启动活动时,我似乎无法获得任何结果.我在活动和活动组中放了一个onactivityresult?具体来说,我试图让用户从Intent.ACTION_GET_CONTENT中选择一张照片/视频,但我从来没有得到任何回报?我究竟做错了什么?
以下是我调用代码的方法:
Intent pickMedia = new Intent(Intent.ACTION_GET_CONTENT);
pickMedia.setType("video/*");
startActivityForResult(pickMedia,12345);
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我正在尝试创建一个自定义的ActivityGroup.除了组子活动的活动生命周期方法之外,我正在使一切正常工作.当我们的子活动进入/退出焦点时如何调用onResume/onPause方法?
我知道tabActivity这样做但我在查看代码时无法找到.
提前致谢!
嘿伙计们我正在开发一个Android应用程序,我想为每个选项卡实现一个活动组.但由于不推荐使用Activity Group,我必须使用Fragments.我搜索了最后几天并对该主题进行了一些研究,但我仍然没有得到它.下图描述了我想要做的事情.我也是直接来自iOS,我需要一些关于我的理论的反馈.

正如您所看到的,每个Fragment都包含一个WebView Fragment.当用户单击该WebView片段中的链接时 - 请求被捕获并且替换了新的片段,该片段再次保存WebView并加载在前一片段中单击的链接.在某一点上,用户决定返回第一个片段并按下后退按钮.
片段应以相反的顺序从堆栈中弹出,直到他再次看到第一个片段.理想情况下,每个Fragment应该保存他的instancestate,这样当用户返回时,WebView不需要再次加载该站点.
我遇到了ActionBar Sherlock,它提供了一个关于Fragments选项卡的例子.还有片段堆栈的示例.将这两个示例组合起来是理想的,这样每个选项卡都包含一个Fragment Stack.
我的代码结构如下所示:
我的TabHost片段
public class MyActivity extends SherlockFragmentActivity {
static TabHost mTabHost;
static TabManager mTabManager;
public static int THEME = R.style.Theme_Sherlock_Light;
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(THEME); //Used for theme switching in samples
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_tabs);
mTabHost = (TabHost)findViewById(android.R.id.tabhost);
mTabHost.setup();
mTabManager = new TabManager(this, mTabHost, R.id.myRealTabContent);
// adding some Fragment Tabs
mTabManager.addTab(mTabHost.newTabSpec(tabNames[i]).setIndicator(tabNames[i]),
FragmentStackSupport.CountingFragment.class, bundle);
if (savedInstanceState != null) {
mTabHost.setCurrentTabByTag(savedInstanceState.getString("tab"));
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("tab", mTabHost.getCurrentTabTag()); …Run Code Online (Sandbox Code Playgroud) 我正在寻找最简单的方法来同时显示两个活动,以便一个活动始终保持可见,另一个活动随用户交互而改变.
换一种说法:
我已经看到许多不同的想法做类似的事情,但无法使它们适应我的需要.
任何帮助,将不胜感激.
所以我有这个ActivityGroup,其中我展示了2个活动.当我正在切换时我希望有这种过渡效果,当前视图向左滑出屏幕,新视图从右侧进入.这是我的切换代码,假设当前视图是viewA:
Intent i = new Intent(this, ViewA.class);
viewB = getLocalActivityManager().startActivity("viewb", i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView();
setContentView(viewB);
Run Code Online (Sandbox Code Playgroud)
现在当我执行以下操作时,将显示viewB的背景,并且viewB的内容会滑入,这不是我想要的:
Animation animIn = AnimationUtils.loadAnimation(this, R.anim.righttoleftin);
viewB.startAnimation(animIn);
Animation animOut = AnimationUtils.loadAnimation(this, R.anim.righttoleftout);
viewA.startAnimation(animOut);
setContentView(viewB);
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
实际上,上面的确有效.我有一个问题,我认为viewA被显示,而事实并非如此.
我正在制作包含三个选项卡的android应用程序..在第三个选项卡上有登录屏幕..
当我点击登录按钮...我想用包含列表视图和注销按钮的活动替换活动....
以前我使用Activity Group来替换活动.但是现在已经弃用了活动组.
现在我该如何替换第三个标签下的活动?
我正在使用这些代码
Intent intent = new Intent(MyApp.this, LoginPage.class);
replaceContentVieww("activity4", intent);
public void replaceContentVieww(String id, Intent newIntent) {
// TODO Auto-generated method stub
View view = getLocalActivityManager().startActivity(id,newIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView();
setContentView(view);
}
Run Code Online (Sandbox Code Playgroud)
有一个链接,我知道这个类已被弃用.
我在我的一个示例应用程序中使用带有ActivityGroup的Tabbar.以下是我的申请结构
Tab1 -> ParentActivity1 -> ChildActivity_11 -> ChildActivity_12
Tab2 -> ParentActivity2 -> ChildActivity_21 -> ChildActivity_22
Tab4 -> ParentActivity3 -> ChildActivity_31
Tab4 -> ParentActivity4 -> ChildActivity_41
Run Code Online (Sandbox Code Playgroud)
我面临的问题是,当我按下ChildActivity_12中的本机后退按钮时,它应该转到ChildActivity_11,但不知何故它将退出应用程序.有人可以告诉我这里的检查应该是什么吗?
平行如果有人可以在这里指导我在导航控件中正确管理导航,例如Tabbar with ActivityGroup,Fragments等在Android中?
我想在单击ListActivity中的项目时显示AlertDialog.我的应用程序在TabActivity的选项卡下显示ListActivity,并且AlertDialog显示没有问题.ListActivity(称为FavouritesActivity)非常直接来自Android文档,具有以下设置:
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
//... code to set the strings station, number, route, and direction
FavouritesActivity.this.confirmSend(position);
}
});
Run Code Online (Sandbox Code Playgroud)
然后
public void confirmSend(final int position) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Are you sure?")
.setCancelable(true)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//... some code to run here
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert …Run Code Online (Sandbox Code Playgroud) activitygroup ×10
android ×10
tabbar ×2
animation ×1
java ×1
listactivity ×1
logout ×1
navigation ×1
resume ×1