小编nem*_*035的帖子

addToBackStack(null)中null的目的是什么?

我是Andoid开发的新手,我创建了一个代码片段来替换片段.

我按照Android开发人员指南.

我创建了一个名为的方法selectFrag,并在按钮点击时触发它:

public void selectFrag(View view)
{    
    Fragment fr;    

    if(view == findViewById(R.id.showsecond)) {
        fr = new secondfragment();
    } else {
        fr = new firstfragment();
    }

    FragmentManager fm = getFragmentManager();

    FragmentTransaction ft = fm.beginTransaction();

    ft.replace(R.id.fragment_place,fr);

    ft.addToBackStack(null);

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

代码完美无缺,我理解除了之外的一切addToBackStack(null).

我试验并理解这个方法是将片段添加到后退按钮的堆栈中,这样如果我们单击后退按钮,它就不会离开屏幕并显示之前的工作.

但是,我不明白null这里有什么.我在网上搜索,但我只知道它是一个TAG,我们可以使用这样的东西.

所以,我的问题很简单:这里的意思是null什么?或者做null什么?

(对不起,我的英语不好.)

java android android-layout android-fragments

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

JS(ES8 +):为什么`async`不是保留字?

据我所知,规范文档都是awaitasync/await功能中唯一保留的关键字.

我们可以命名变量这一事实进一步证明了这一点async:

例如:

var async = 5;
console.log(async) // this is fine
Run Code Online (Sandbox Code Playgroud)

节点(6.10)(也在Repl.it上)

节点

Chrome(59)

铬

火狐(54)

火狐

是因为向后兼容吗?我猜许多代码库会使用async某些功能的名称.

这允许一些奇怪的代码示例:

async function async() {
  var async = 5;
  await async;
  return async;
}
async().then(console.log)
Run Code Online (Sandbox Code Playgroud)

无限递归承诺链?(不是很重要,因为任何函数名称都允许这样做,但是这段代码看起来更令人困惑)

async function async() {
  await async();
}
// stackoverflow (might need to open your console to see the output)
Run Code Online (Sandbox Code Playgroud)

javascript async-await

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

使用类方法作为回调时的Promise.then执行上下文

为什么在使用类方法作为回调时以及使用"普通函数" 时Promise.then传递执行上下文?undefinedwindow

类方法是否与其拥有的对象/类分离?为什么undefined而不是window

function normal() {
    console.log('normal function', this);
}
const arrow = () => {
    console.log('arrow function', this);
}

function strictFunction() {
    'use strict';
    console.log('strict function', this);
}

class Foo {
    test() {
        this.method(); // Foo
        Promise.resolve().then(() => console.log('inline arrow function', this)); // Foo
        Promise.resolve().then(normal); // window
        Promise.resolve().then(arrow); // window
        Promise.resolve().then(strictFunction); // undefined
        Promise.resolve().then(this.method); // undefined <-- why?
    }

    method() {
        console.log('method', this);
    }
}

const F = new Foo();
F.test(); …
Run Code Online (Sandbox Code Playgroud)

javascript promise ecmascript-6 es6-promise

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

如何在Java中将Arraylist转换为Json

我有一个arraylist,arraylist拥有一堆Domain对象.如下所示:

Domain [domainId=19, name=a, dnsName=a.com, type=0, flags=0]
Domain [domainId=20, name=b, dnsName=b.com, type=0, flags=12]
Domain [domainId=21, name=c, dnsName=c.com, type=0, flags=0]
Domain [domainId=22, name=d, dnsName=d.com, type=0, flags=0]
Run Code Online (Sandbox Code Playgroud)

我的问题是如何将其转换ArrayList为JSON?数据格式应为:

{  
"param":{  
  "domain":[  
    {  
      "domid":19,
      "name":"a",
      "dnsname":"a.com",
      "type":0,
      "flags":
    },
    ...
  ]
}
Run Code Online (Sandbox Code Playgroud)

java json

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

如何从Ember应用程序模板中的路径访问数据?

我正在按照Ember 2.3的文档进行操作,似乎找不到任何基本的东西:如何访问主模板中路由模型钩子提供的值:application.hbs

路线/ client.js

// ...
export default Ember.Route.extend({
    model() {
        return {
            navigation: [
                {
                    title: "Projects",
                    link: "projects"
                },
                {
                    title: "My Specifications",
                    link: "specs"
                }
            ]
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

模板/ application.hbs

<nav>
   {{#each navigation as |navItem|}}
      <li>{{#link-to navItem.link}} {{navItem.title}} {{/link-to}}</li>
   {{/each}}
</nav>
{{outlet}}
Run Code Online (Sandbox Code Playgroud)

就像现在一样,导航对象可以被路径的模板(client.hbs)访问,但不能访问应用程序模板.

javascript ember.js ember.js-2

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

ES6中参数的默认值

这是es6中参数的默认值吗?

function list({ skip = 0, limit = 50 } = {}) {

}
Run Code Online (Sandbox Code Playgroud)

上面的代码是做什么的?

如果这是list(skip=0, limit=50)我能理解但现在我很困惑.

javascript ecmascript-6

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

Ember.js 服务器端或客户端或两者兼而有之?

我对 Ember.js 有点迷惑,我不了解与 Ember 相关的一些基本概念。我在官方页面上看到 Ember 是一个客户端框架。

造成这种差异的原因是 Ruby on Rails 是一个服务器端框架,而 Ember 是一个客户端框架。

Ember 文档

但同时,我知道 Ember 在 Node.js 下运行,这是一个服务器端框架。

使用 Ember 也确实可以为用户界面构建视图和组件。

所以,我很困惑,Ember 是服务器端框架、客户端框架还是两者兼而有之?

谢谢。

javascript node.js ember.js

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

过滤掉 React 组件的子组件

我目前正在通过以下方式映射我的父组件子组件的值:

const subRows = React.Children.map(this.props.children, (child, i) => {
  return child;
});
Run Code Online (Sandbox Code Playgroud)

我想要的是针对这些孩子的类型值,以便我可以在返回中过滤掉特定的孩子。有谁知道是否有一种简单的方法可以实现这一目标?

javascript reactjs

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

使用async/await从回调中获取数据,并仅在解析promise后返回值

我正在尝试使用async/await,但我认为我批判性地误解了一些东西.

尽可能基本上,我试图使用谷歌地图api计算位置列表和一个指定位置之间的距离.

这是我正在尝试做的一个粗略的例子:https://jsfiddle.net/qu5y69rj/1/

您可以看到该函数的结果是undefined3次,而不是我期望的那样,{distance: "ZERO_RESULTS"}对于我设计的示例,每次调用都是如此.

getDistance = async (start, end) => {
  const origin = new google.maps.LatLng(start[0], start[1]);
  const final = new google.maps.LatLng(end[0], end[1]);
  const service = new google.maps.DistanceMatrixService();
  let result; //need to return this value!
  await service.getDistanceMatrix(
    {
        origins: [origin],
      destinations: [final],
      travelMode: 'DRIVING'
    }, (response, status) => {
      if(status === 'OK') result = {distance: response.rows[0].elements[0].status}
    }
  )
  return result;
}
Run Code Online (Sandbox Code Playgroud)

为什么在承诺解决之前返回结果?result只有在该承诺解决后,我才能返回值?我的理解是,通过告诉javascript等待,我说在这个承诺解决之前不要继续前进.这是不正确的?我很困惑,这让我把头发拉了出来.任何帮助表示赞赏.

javascript asynchronous async-await

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

React组件中的两个提供程序

我想在我的React应用程序中实现条带元素,看起来我可以使用一个很好的包装器.

但是,在文章中,作者说我们必须使用StripeProvider它并在根应用程序组件级别实现它 - 请参阅https://github.com/stripe/react-stripe-elements#getting-started

我需要使用自己的提供商连接到我的商店.如何在组件中使用两个提供程序?我甚至不确定这是不是一个好主意.

我当前的渲染方法如下所示:

render(
    <Provider store={store}>
        <App>
            <SomeComponentInMyApp />
        </App>
    </Provider>,
    document.getElementById('content-wrapper')
);
Run Code Online (Sandbox Code Playgroud)

我会将一个提供商包裹在另一个吗?

javascript reactjs redux react-redux react-stripe-elements

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