小编Pro*_*uce的帖子

将FragmentTransaction与DialogFragment一起使用

所以我创建了一个DialogFragment,它通过这种技术显示为对话框

现在它已经启动并且在此弹出窗口中进行用户交互时,我想将另一个片段滑入此对话框.我试图通过FragmentTransaction.add()来做到这一点,我给它在这个布局中的一个容器的id.在这一点上,我得到:

java.lang.IllegalArgumentException: No view found for id 0x7f09013f for fragment <fragmentClassThatIWasPushingIn>
Run Code Online (Sandbox Code Playgroud)

作为一个快速测试,我试图把它推到一个不在对话框中但在主要支持活动中的容器ID,并且工作得很好.

有没有关于DialogFragments及其容器ID的东西,不允许FragmentTransactions?

作为权宜之计,我告诉我的事务隐藏当前的DialogFragment并显示这个新的片段,但是动画/显示有点刺耳,所以我真的想把这个问题排序.

谢谢

android android-fragments android-3.0-honeycomb

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

摩托罗拉XOOM平板电脑的Android Market中未显示应用程序

我们有一个android应用程序,其清单设置以下配置:

minsdkVersion = "4"

<supports-screens 
                  android:normalScreens="true"
                  android:largeScreens="true"
                  android:anyDensity="false" />
Run Code Online (Sandbox Code Playgroud)

但是,当使用摩托罗拉XOOM设备的用户浏览Android Market时,他不会显示我们的应用程序.

为什么会这样?

android android-3.0-honeycomb google-play

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

片段如何处理触摸?

我正在玩android Fragments,我找到了一些对我来说没什么意义的东西.我正在使用兼容性软件包并在2.3.3的nexus上进行测试,因为我还没有motorola xoom.

我的问题是:当我fragment用另一个替换时,后面的那个继续接收触摸.

这是重现的代码.

我有一个项目列表,当你按一行时,将创建并显示一个新的片段. 但是,如果你触摸绿色片段,它将被接收ListFragment,增加后退按钮的数量按我必须做回去ListFragment.

有人可以解释原因吗?

编辑:作为CommonsWare的建议,我删除,因为我开了这家作为粘贴在这里的代码问题在Android问题跟踪器,您可以下载从那里演示项目.

android android-fragments

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

PHP json_encode大小限制?

我正在使用PHP代理来获取文件的内容.我想使用功能强大的jQuery选项搜索该文件,而不必在PHP中编写各种查询.这是我的PHP代码:

$page = file_get_contents( filter_var( $_POST[url], FILTER_SANITIZE_URL ) );
die( json_encode( $page ) );
Run Code Online (Sandbox Code Playgroud)

如果加载的页面太大,PHP将读取整个文档,但json_encoding它只会给出文件的第一部分,而不是整个文件.我找不到关于json传递数据的大小限制的任何内容,但显然有一个.

问题:是否有一种解决方法可以防止只传输部分文件?

我需要从其他域中获取文件,因此在jQuery中读取文件的内容实际上并不是一种选择.

php size json limit

11
推荐指数
2
解决办法
4万
查看次数

字符串引用不应该适用于AndroidManifest中的intent过滤器的动作名称吗?

最初我的AndroidManifest.xml包含一个我通过其自定义操作名称到达的活动.

<activity
 android:label="HERE I AM"
 android:name="TestController">
 <intent-filter>
  <action android:name="com.company.project.TestActivity" />
  <category android:name="android.intent.category.DEFAULT" />
 </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

随着这个清单startActivity(new Intent("com.company.project.TestActivity"));开始我的活动没有任何问题.

但我对这种编码风格并不满意.早期我被告知不要使用内联定义的字符串常量,因为它会导致代码的可维护性降低.这真的一个问题.

所以首先我ublic static final String MY_ACTION = "com.company.project.TestActivity";在我的App.java类(我用过的那个)中声明了ap ,并通过这个命名常量以这种方式到达我的组件:

startActivity(new Intent(App.MY_ACTION));

这看起来好多了,但我仍然需要维护两个相同字符串的实例.在http://developer.android.com/reference/android/R.styleable.html#AndroidManifestAction_name上阅读

...这也可能是对包含值的资源(格式为"@ [package:] type:name")或主题属性(格式为"?[package:] [type:] name")的引用这种类型.

所以我猜想将这个字符串定义为JUST ONCE会很好.我输入<string name="MY_ACTION">com.company.project.TestActivity</string>了我的strings.xml并修改了我的App:

public class App ...
    public static String MY_ACTION;

    @Override
    public void onCreate() {
        super.onCreate();
        MY_ACTION = getString(R.string.MY_ACTION);
    ...
Run Code Online (Sandbox Code Playgroud)

一切都还行

...直到我改变我的AndroidManifest.xml <action android:name="@string/MY_ACTION" />而不是使用 <action android:name="com.company.project.TestActivity" />.在此次更改后,我最大的惊喜是应用程序在运行时崩溃,抱怨没有为我的意图找到活动.字符串引用可能未正确解析.:(

也许问题是R.string依赖于配置......?但是嘿,我不能这么疯狂地选择这样一个字符串引用,其值可能会从config更改为config!developer.android.com告诉我,在动作名称中使用引用是可以的!我在API级别6,7,结束8时遇到过这种行为.它只是android系统中的一个简单错误吗?或者我误解了什么?

我完全不解,请帮帮我.提前致谢.

android action string-literals intentfilter android-manifest

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

如何在LayoutTransition动画之前消除延迟

LayoutTransition在Honeycomb 尝试新课程.我已经设置了一个动画,View当它添加到一个时,它会滑动到位ViewGroup.我注意到视图首次渲染和LayoutTransition.APPEARING动画开始之间有一点延迟(大约20ms).换句话说,在屏幕上出现视图后,它会在空中停留片刻,然后开始动画到位.您甚至可以在ApiDemos示例项目中注意到这一点.在布局动画示例中,在ViewGroup开始播放动画之前总会有延迟.我甚至尝试将其他LayoutTransition动画设置为null,或者最终给它们设置非常短的持续时间,但APPEARING动画仍然会延迟.这是我的代码:

public class DebugExampleFour extends Activity {
    private int numButtons = 1;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.debug_example_four);

        final ViewGroup frame = (ViewGroup) findViewById(R.id.frame_container);
        LayoutTransition transitioner = new LayoutTransition();

        Animator appearingAnimation = ObjectAnimator.ofFloat(null, "translationX", 600, 0);
        appearingAnimation.setDuration(45);
        appearingAnimation.setStartDelay(0);
        appearingAnimation.setInterpolator(new DecelerateInterpolator());
        appearingAnimation.addListener(new AnimatorListenerAdapter() {
            public void onAnimationEnd(Animator anim) {
                View view = (View) ((ObjectAnimator) anim).getTarget();
                view.setTranslationX(0f);
            }
        });
        transitioner.setAnimator(LayoutTransition.APPEARING, appearingAnimation);
        Animator dummyAnimation …
Run Code Online (Sandbox Code Playgroud)

layout animation android android-3.0-honeycomb

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

菜单排序由于片段和活动层次结构而产生的差异.(onCreateOptionsMenu)

背景

对于Android 3.0的发展,我有一个HostActivity是的超类NotebooksActivityNoteActivity.NotebooksActivity包括一个片段,NotebooksFragment.

HostActivity,我包含一个菜单,我想在ActionBar的选项菜单的最右端显示,即子类中的所有菜单项HostActivity应该出现在添加的菜单项的左侧HostActivity.

菜单膨胀HostActivity:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    final MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.host_menu, menu);
    return super.onCreateOptionsMenu(menu);
}
Run Code Online (Sandbox Code Playgroud)

问题

当我添加菜单项时NoteActivity,我按预期实现了所需的顺序:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.notebook_menu, menu);
    return super.onCreateOptionsMenu(menu);
}
Run Code Online (Sandbox Code Playgroud)

但是,当我添加菜单项时NotebooksFragment,由于Fragments的工作方式,onCreateOptionsMenu在相同的方法之后调用HostActivity,导致HostActivity菜单项出现在之前NotebooksFragment.

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.notebooks_menu, …
Run Code Online (Sandbox Code Playgroud)

android menu android-fragments android-activity

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

Android:我的片段转换动画有什么问题?

我只需要简单的幻灯片并滑出动画片段转换,下面是我的代码:slide_in_left.xml:

<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="true">
<translate
    android:fromXDelta="-100%"
    android:toXDelta="0%"
    android:fromYDelta="0%"
    android:toYDelta="0%"
    android:duration="700">
</translate>
</set>
Run Code Online (Sandbox Code Playgroud)

slide_out_right.xml:

<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
    android:fromXDelta="0%" android:toXDelta="100%"
    android:fromYDelta="0%" android:toYDelta="0%"
    android:duration="700">
</translate>
</set>
Run Code Online (Sandbox Code Playgroud)

我用的代码:

SomeFragment frag = SomeFragment.newInstance(foo);
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
ft.replace(R.id.the_fragment, frag);
ft.addToBackStack(null);

ft.commit();
Run Code Online (Sandbox Code Playgroud)

结果看起来非常奇怪,当转换开始时,当前片段消失而没有动画,输入片段(从左侧)像滚动纸一样.我的动画xml代码出了什么问题?

谢谢!

animation android transition android-fragments

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

不同方向的不同片段

我在平板电脑应用程序中有一个活动,我想根据方向显示不同的碎片.我认为最简单的方法就是定义两个不同的布局XML文件,一个用于横向,一个用于纵向.换句话说,我有/layout/home.xml,如下所示:

<LinearLayout android:orientation="horizontal">
  <fragment class="com.foo.app.Frag1" android:id="frag1"/>
  <fragment class="com.foo.app.Frag2" android:id="frag2"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

然后在/layout-port/home.xml中:

<LinearLayout android:orientation="vertical">
  <fragment class="com.foo.app.Frag2" android:id="frag2"/>
  <fragment class="com.foo.app.Frag3" android:id="frag3"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

当我跑步时,我可以从风景开始去画像,一切都很好.但是,当我从纵向转到横向时,应用程序崩溃时会发生android.content.res.Resources $ NotFoundException,其资源ID等于"frag3".这是正确的,它正在寻找Frag3时,去景观制作,并在该模式中没有Frag3.这在Activity.onCreate堆栈期间发生,因此在我的任何代码有任何机会使应用程序崩溃之前.

片段不应该以这种方式工作吗?我需要使用FragmentTransaction吗?

android android-3.0-honeycomb

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

将java Object转换为CSV

我应该使用什么API将Java对象转换为CSV.我可以使用google-gson将java对象转换为CSV格式吗?

java gson

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