小编Dra*_*ior的帖子

有没有办法从堆栈顶部获取片段?

我的MainActivity中有一个ListFragment.这是我设置片段对象的方法.

FragmentManager fragmentManager = activity.getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
Fragment newFragment = new MyFragment();
fragmentTransaction.replace(R.id.framecontainer, newFragment, "tag");
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
Run Code Online (Sandbox Code Playgroud)

问题是当用户按下后退按钮时,我必须至少通过调用来更改操作栏和菜单

getActionBar().setTitle(title);
getActionBar().setDisplayHomeAsUpEnabled(isEnabled);
invalidateOptionsMenu();
Run Code Online (Sandbox Code Playgroud)

我必须知道当前显示的是哪种片段,以便我知道如何设置操作栏.我将设置选项存储在fragment中作为参数.

String title = fragment.getArguments().getString("KEY_TITLE");
boolean isEnabled = fragment.getArguments().getBoolean("KEY_ISENABLED");
Run Code Online (Sandbox Code Playgroud)

我确实搜索了相关的问题,我意识到我可以通过调用来获取片段

MyFragment fragment = (MyFragment) getSupportFragmentManager()
        .findFragmentByTag("tag");
Run Code Online (Sandbox Code Playgroud)

但是,我必须将所有标记存储在自定义堆栈中,并在每次用户按下后退按钮时调用pop()onBackPressed().

所以,我的问题是,有没有办法让我直接从堆栈中获取当前可见的片段?

注意:请记住片段类型不同,而不仅仅是MyFragment.

android android-fragments

41
推荐指数
2
解决办法
5万
查看次数

如何为Samsung Galaxy Note 2创建Android AVD?

我想创建一个AVD来测试三星Galaxy Note 2上的应用程序.我已经检查了类似的问题,但它们适用于较旧的AVD版本.

我应该使用哪种设备?

我应该将目标设置为"Android 2.3.3 - API Level 10"吗?

在此输入图像描述

android android-emulator samsung-mobile

16
推荐指数
1
解决办法
2万
查看次数

如何在iOS 7中刷新UICollectionViewCell?

我正在尝试在Xcode 5中开发我的应用程序并在iOS 7环境下进行调试.

我有一个自定义的UICollectionViewLayoutAttributes.

我打算在长按UICollectionViewCell后做一些事情,所以我重写了UICollectionViewCell.m中的方法

- (void)applyLayoutAttributes:(MyUICollectionViewLayoutAttributes *)layoutAttributes
{
    [super applyLayoutAttributes:layoutAttributes];
    if ([(MyUICollectionViewLayoutAttributes *)layoutAttributes isActived])
    {
        [self startShaking];
    }
    else
    {
        [self stopShaking];
    }
}
Run Code Online (Sandbox Code Playgroud)

在iOS 6或更低版本中,- applyLayoutAttributes:在我调用下面的语句后调用.

UICollectionViewLayout *layout = (UICollectionViewLayout *)self.collectionView.collectionViewLayout;
[layout invalidateLayout];
Run Code Online (Sandbox Code Playgroud)

但是,在iOS 7中,即使重新加载CollectionView,也不会调用- applyLayoutAttributes:.

这是一个苹果稍后会修复的错误,或者我必须做些什么?

uicollectionview uicollectionviewcell ios7 xcode5

9
推荐指数
1
解决办法
3786
查看次数

有没有办法覆盖WebView的行为?

我得到了WebView我的布局:

        WebView webView = (WebView) rootView.findViewById(R.id.myWebView);
Run Code Online (Sandbox Code Playgroud)

我想覆盖的行为onKeyDown.通常,我可以通过子类化来覆盖它.

        WebView webView = new WebView(this) {

        @Override
        public boolean onKeyDown (int keyCode, KeyEvent event) {
        // Do my stuff....
        }
}
Run Code Online (Sandbox Code Playgroud)

但是,由于我使用了WebView findViewById,有没有办法覆盖该方法?

PS:它实际上是一个更复杂的情况下,我不能覆盖onKeyDownMainActivity,因为它调用onKeyDownWebView第一位.

android android-webview

5
推荐指数
1
解决办法
3509
查看次数

如何为我的Android应用程序实现类似"自动隐藏导航"的Chrome?

在Chrome中,当用户向上/向下滑动内容时,地址栏将被隐藏/显示.

我可以为我的应用程序实现类似的逻辑吗?

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:id="@+id/container"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     tools:context=".MainActivity"
     tools:ignore="MergeRootFrame">
         <WebView
         android:id="@+id/my_webview"
         android:layout_width="match_parent"
         android:layout_height="match_parent" />
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

我想知道我是否可以通过以下代码执行任何操作,以便在用户向上/向下滑动webView时隐藏/显示ActionBar.

WebView webView = (WebView) findViewById(R.id.my_webview);
webView.setOnTouchListener(new View.OnTouchListener() {
     public boolean onTouch (View v, MotionEvent event) {
            webView.onTouchEvent(event);
     }
});
Run Code Online (Sandbox Code Playgroud)

android android-webview android-gesture

5
推荐指数
2
解决办法
6440
查看次数

如何隐藏Android中的底部操作栏?

我在AndroidManifest.xml中设置了"android:uiOptions ="splitActionBarWhenNarrow".因此,如果设备没有足够的空间,操作栏将分为两部分.

有时,我想通过调用getActionBar().hide()隐藏操作栏.但它会在底部留下一个丑陋的白色空间.我怎么能摆脱它?

我试图调用getActivity().getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY),但它会阻止我的webview内容.

之前

后

android android-actionbar

5
推荐指数
1
解决办法
3837
查看次数

如何实现CordovaInterface以便我可以在webview中使用相机?

我是Android新手.

WebView按照教程在我的Android应用程序上嵌入了Cordova .

我已经使用我的服务器成功加载了一个网页CordovaWebView.

假设我在该网页上有一个名为"Capture Photo"的按钮,我该怎么做才能调用本地API以便我可以使用相机?

教程建议我需要CordovaInterface按照以下方式实现使用相机.

@Override
public void setActivityResultCallback(CordovaPlugin plugin) {
    this.activityResultCallback = plugin;        
}
Run Code Online (Sandbox Code Playgroud)

我不知道究竟是什么activityResultCallback.是否有另一个教程向我展示如何实现此接口?

android android-webview android-camera cordova

4
推荐指数
1
解决办法
7054
查看次数

如何在Android中正确加载存档的网页?

我想将网页保存到本地.

我发现有一种方法可以将网页保存为存档文件.

public void saveWebArchive (String filename)
Run Code Online (Sandbox Code Playgroud)

但是,当我加载文件时,我只得到了胡言乱语.

WebView webView = (WebView) rootView.findViewById(R.id.webview_layout);
String url = "http://www.yahoo.com";
webView.loadUrl(url);
String path = getFilesDir().getAbsolutePath() + File.separator + "yahoo" + ".html";
webView.saveWebArchive(path);
webView.loadUrl("file://" + path);
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

mobile android android-webview

3
推荐指数
1
解决办法
3872
查看次数

如何解雇所有模态视图?

假设我基于A呈现模态视图B,然后基于B呈现模态视图C.

有没有办法解雇B和C并直接回到A?

iphone objective-c ios

2
推荐指数
2
解决办法
4879
查看次数

我怎样才能从NSMutableDictionary中继承子类

可能重复:
如何从NSDictionary继承?

根据API,我必须覆盖方法:

setObject:forKey:
removeObjectForKey:
initWithObjects:forKeys:
count
objectForKey:
keyEnumerator
Run Code Online (Sandbox Code Playgroud)

你能提供一个关于如何覆盖它们的例子吗?

objective-c

1
推荐指数
1
解决办法
1780
查看次数