小编Seb*_*eit的帖子

理解片段backstack

所以,有一些类似的问题,但我没有找到解决这个问题的单一问题.在官方Android文档似乎直观,但是当我实现与更复杂的工作流应用程序,碎片堆栈中变得混乱和怪异的东西开始发生.我为简单的应用程序开发了一个框架,其中包含单个活动的概念,可以通过其片段访问它以启动其他片段.我就这样做了:

1-让我的主要活动实现一个名为"FragmentDelegate"的界面

public interface FragmentDelegate {
    public void startFragment(CCFragment fragment, boolean addToBackStack);
}
Run Code Online (Sandbox Code Playgroud)

2- startFrargment方法的实现:

@Override
public void startFragment(CCFragment fragment, boolean addToBackStack) {

    FragmentManager fragmentManager = getSupportFragmentManager();

    fragment.setFragmentDelegate(this);
    FragmentTransaction fragmentTransaction = fragmentManager
            .beginTransaction();

    fragmentTransaction.setCustomAnimations(R.anim.slide_in_right,
            R.anim.slide_out_left, R.anim.slide_in_left,
            R.anim.slide_out_right);

    fragmentTransaction.replace(CONTENT_VIEW_ID, fragment,
            "callerFragmentClassName");
    if (addToBackStack)
        fragmentTransaction.addToBackStack("callerFragmentClassName");
    fragmentTransaction.commitAllowingStateLoss();

}
Run Code Online (Sandbox Code Playgroud)

关于这个很酷的是,我可以从任何片段调用:

mFragmentDelegate.startFragment(aNewFragment, addToBackStack);
Run Code Online (Sandbox Code Playgroud)

好了,现在想想以下案例场景:

我用一个初始片段开始我的活动,让我们说片段A.从片段A,我调用Camera Activity获得结果.当结果到来时,我启动片段B(将A添加到backstack).从BI开始片段C 而不向后台堆叠添加B. 所以我们在backstack中有这个:

[A] [C]

如果我按下后退按钮,我会回到A.如果我重复这个过程,背板会搞砸,当我按下时,它会一次又一次地把我带到C片段......

我知道这很难理解(我更难解释,因为英语不是我的母语)但是如果有人可以向我解释一下android片段背板如何工作的,或者为应用程序提供某种骨架,会很好.

android android-fragments

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

SlidingDrawer over GoogleMap

首先,我知道SlidingDrawer已被弃用,但我还没有找到任何替代品,所以无论如何我都在使用它:3(如果有人知道替代它,请分享它!)

所以我的活动中有一个GoogleMap(实际上是一个片段,但没关系),并且在同一个屏幕上有一个很好的SlidingDrawer.它运行正常,但是当我在地图上打开或关闭滑动抽屉时,它开始表现得很奇怪.看起来地图想要留在滑动抽屉前面.抽屉完全打开后,它会回到正面,一切正常.

这有解决方法吗?我疯了!

这是我的布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/window"
    >
        <fragment
            android:id="@+id/hackedmap"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            class="com.google.android.gms.maps.SupportMapFragment" />

<SlidingDrawer
        android:id="@+id/drawer"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:content="@+id/drawercontent"
        android:handle="@+id/drawerhandle"
        android:orientation="horizontal" 
        >

        <LinearLayout
            android:id="@id/drawerhandle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#00000000"
            android:gravity="center" >

            <ImageView
                android:id="@+id/slidingHandle"
                android:layout_width="40dp"
                android:layout_height="wrap_content"
                android:adjustViewBounds="true"
                android:scaleType="fitEnd"
                android:src="@drawable/sliding_handle" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/drawercontent"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:background="#DD000000"
            android:gravity="center_horizontal|top"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/selectednet"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:layout_margin="4dp"
                android:text="Select a network:"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textColor="#02bceb" />

            <ListView
                android:id="@+id/passivelist"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:choiceMode="singleChoice" >
            </ListView>
        </LinearLayout>
    </SlidingDrawer>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

android google-maps slidingdrawer google-maps-android-api-2

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

在WebGL中动态更改顶点缓冲区

我正在开发WebGL中的布料模拟器,准备好所有物理和动画,但我无法渲染它.我习惯在Opengl中使用glVertex,所以在每次迭代中我都可以改变顶点的位置并且它会移动,但是在WebGL(OpenGL ES)中没有这样的方法.

这是我的代码:

//Initialization:
    puntosBuffer= gl.createBuffer();
    gl.bindBuffer(gl.ARRAY_BUFFER, puntosBuffer);
    telaVertices3=new Array(12);
    telaVertices3=[
    0.0,0.0,0.0,
    2.0,0.0,0.0,
    1.0,1.7,0.0,
    0.0,1.0,0.0
    ];
    gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(telaVertices3), gl.DYNAMIC_DRAW);

//loop:
    posx=posx+0.2;
    telaVertices3[0]=posx;
    gl.bindBuffer(gl.ARRAY_BUFFER, puntosBuffer);
    gl.bufferSubData(gl.ARRAY_BUFFER, 0, new Float32Array(telaVertices3));
Run Code Online (Sandbox Code Playgroud)

但它始终呈现在同一点!

javascript webgl

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

java.lang.UnsatisfiedLinkError:java.library.path中没有usbJava

我正在尝试使用Java和OSx yosemite连接到我的arduino,但是收到以下错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no usbJava in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1865)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1122)
    at ch.ntb.usb.LibusbJava.<clinit>(LibusbJava.java:366)
    at ch.ntb.usb.USB.init(USB.java:315)
    at org.zu.ardulink.connection.usb.DigisparkUSBConnection.getPortList(DigisparkUSBConnection.java:116)
    at org.zu.ardulink.Link.getPortList(Link.java:217)
    at BlinkLED.main(BlinkLED.java:36)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
Run Code Online (Sandbox Code Playgroud)

这是我正在执行的代码:

public static void main(String[] args) {
        try {
            Link link = Link.getDefaultInstance();
            link = getDigisparkConnection(); // Comment this row if you use just the default connection

            List<String> portList = link.getPortList();
            if(portList != null && portList.size() > 0) {
                String port = …
Run Code Online (Sandbox Code Playgroud)

java arduino rxtx intellij-idea

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

脱机使用mapfragment功能

我正在开发一个跟踪应用程序,因此我使用GPS数据在画布中绘制路线+检查点.问题是,我在SurfaceView中开发了zoom/drag + span以及所有"lat-long to cartesian conversion",但是如果我可以使用maps api功能(我自己的话)就可以轻松完成所有这些工作.覆盖).

所以我的问题是,我可以使用没有互联网连接的地图api/MapFragment并利用api功能吗?你们有没有做过这样的事情?

android mapactivity mapfragment

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

使用AngularJS的外部库(灯箱)

我正在使用AngularJS,我想添加一个用于显示图像的灯箱.我的灯箱代码就像这样(我使用的是shadowbox):

<a href="myimage.jpg" rel="shadowbox">image name</a>
Run Code Online (Sandbox Code Playgroud)

但是当我想像AngularJS一样使用shadowbox时:

<a ng-repeat="pic in pics" href="{{pic}}" rel="shadowbox">image name</a>
Run Code Online (Sandbox Code Playgroud)

阴影框将被忽略,它的工作方式类似于普通链接.使这项工作的最佳方法是什么?

我可能要写一个指令,但我不熟悉它...

javascript angularjs angularjs-directive

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

该对象不接受属性或方法

我在我的脚本中有这个功能,Internet Explorer抛出一个错误:"el objeto no acepta la propiedad o el metodo trunc",这意味着"对象不接受属性或方法截断"

function minutesToString(a){
  var hours = Math.trunc(a/60);
  var minutes = a % 60;
  return(hours +" hr "+ minutes + " m");
}
Run Code Online (Sandbox Code Playgroud)

在chrome,firefox等工作完美.

javascript internet-explorer

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