小编Kri*_*son的帖子

当从操作栏"向上"时,如何恢复活动而不是重新启动

我有两个活动.说Activity AActivity B.
Activity A我单击按钮启动Activity B这是我用于此的代码:

Intent intent = new Intent(this, ActivityB.class);
this.startActivity(intent);
Run Code Online (Sandbox Code Playgroud)


现在,在这一点上,我在Activity B.在on create方法中Activity B,我启用了向上按钮.

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_view_news);

    getActionBar().setDisplayHomeAsUpEnabled(true); //Here//
}
Run Code Online (Sandbox Code Playgroud)

并在"向上"按钮的事件句柄上,我有这个代码:

public boolean onOptionsItemSelected(MenuItem item){
     switch (item.getItemId()) {
        case android.R.id.home:
            finish();
            NavUtils.navigateUpFromSameTask(this);
        default:
            return super.onOptionsItemSelected(item);
    }
}
Run Code Online (Sandbox Code Playgroud)


现在我决定回到Activity A单击操作栏中的向上按钮,如下所示:在此输入图像描述

现在问题是,当我点击"向上按钮"时,它返回到Activity A哪个很好,但它重新启动它.怎么能让它停止重启?我只想让它恢复.

当我使用我的硬件后退按钮时,它按预期工作.即它转到Activity A并恢复它而不是重新启动它.

我希望我的活动恢复,因为在那个活动上,我在网上下载了一些字符串,因此我不希望它在用户从活动B开始时继续下载数据- >活动A


编辑 …

android android-actionbar android-navigation

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

eslint 抱怨打字稿的路径别名

我在打字稿中设置了路径别名,.tsconfig所以我的导入看起来更干净。

在我的代码中,当我尝试像这样导入我的界面时

import { ApiResponse } from '@api';
Run Code Online (Sandbox Code Playgroud)

eslint 抱怨:Unable to resolve path to module '@api' 然而,vscode 中的智能感知似乎很好。它能够提供代码预测和“跳转到声明”,这是我.tsconfig正确设置但 eslint 以某种方式错误配置的线索。


相关文件

在我的tsconfig.json 中,我设置了路径别名,如下所示:

{
  "compilerOptions": {
    "moduleResolution": "node",               
    "baseUrl": "./src",                     
    "paths": {                              
      "@api": ["./types/api"]
    },
  }
}
Run Code Online (Sandbox Code Playgroud)

我的./src/types/api.ts看起来像这样:

// 3rd party API response object
export interface ApiResponse {
  ....
}
Run Code Online (Sandbox Code Playgroud)

最后,我的.eslintrc.json看起来像这样:

{
  "env": {
    "node": true
  },
  "globals": {
    "console": true
  },
  "plugins": ["@typescript-eslint", "prettier"],
  "parser": "@typescript-eslint/parser",
  "settings": { …
Run Code Online (Sandbox Code Playgroud)

typescript eslint

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

如何在C#中列出项目列表?

使用我使用的列表

List<int> list = new List<int>();
list.AddRange(otherList);
Run Code Online (Sandbox Code Playgroud)

如何使用Queue?来执行此操作,此Collection没有AddRange方法.

Queue<int> q = new Queue<int>();
q.AddRange(otherList); //does not exists
Run Code Online (Sandbox Code Playgroud)

c# queue collections

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

在可移植类库中生成SHA1哈希

我正在尝试构建一个可移植的类库,为其他类/应用程序生成OAuth URL.这个使用OAuth的类库必须是一个可移植的类库,因此它可以与我正在构建的DropBox API的不同版本一起使用.

此类的一部分需要生成SHA1哈希以生成oauth_signature.

我知道可移植类库不支持System.Security.Cryptography,所以无论如何这个类可以生成没有该类的SHA1哈希?

c# sha1 portable-class-library

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

阻止visual studio在任务中打破异常

我有以下代码:

Task load = Task.Factory.StartNew(() => {//Some Stuff Which Throws an Exception});

try
{
    load.Wait();
}
catch (AggregateException ex)
{
    MessageBox.Show("Error!");
}
Run Code Online (Sandbox Code Playgroud)

当任务中抛出一个异常时,我希望它在try catch中被冒泡,而不是在导致异常的时候打破visual studio.

我尝试谷歌和一些建议我[DebuggerHidden]在我的方法之上添加它但它不起作用

c# debugging visual-studio-2010 visual-studio-debugging

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

p2p打孔有什么困难?

我正在尝试一些p2p网络.在做了一些研究之后,我学到的最大障碍之一就是"如果客户端在NAT /防火墙后面怎么办",后来我发现了关于打孔的问题,但并不总能保证能够正常工作.

据我所知,我不明白它为什么会失败,这是我目前所知道的:


在此输入图像描述
基于上图,这就是我如何理解如何建立成功的连接.

  1. Alice通过创建与目录服务器的连接来加入网络(1).发生这种情况时,Alice的 NAT会创建从她的公共IP到本地ip的映射.
  2. 目录服务器接收连接并将Alice的公共存储ip:port在目录中
  3. Bob做同样的事情(2),加入网络并ip:port在目录中发布他
  4. 爱丽丝想和鲍勃沟通.所以她从目录中查找Bob's ip:port. (3)
  5. Alice发送了她从服务器获得的Bob的 数据ip:port.(5)
  6. 由于Bob还有从is ip:port到他的本地的映射ip:port,NAT只是将Bob公众收到的任何数据转发ip:port给他的计算机.
  7. 同一作品爱丽丝
    我希望我能清楚地解释我的理解.我的问题是,这有什么困难或不可靠的?我必须清楚地遗漏一些东西.你能解释一下它是什么吗?

networking p2p hole-punching

14
推荐指数
3
解决办法
4934
查看次数

PHP:会话变量

我开始学习php了.我对会话有疑问.

现在,我知道session_start()会创建一个会话变量.

我不知道的是,当我访问我创建的会话时,是否需要session_start()再次使用?

如是...

为什么是这样?因为我已经创建了一个会话,我想知道为什么它不会持续整个浏览会话.

php variables session

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

ngAfterContentChecked()不可理解+角度2

我一直在试图找出的意义ngAfterContentChecked(),并 ngAfterViewChecked()在一段时间.曾尝试过各种帖子,但仍无法理解其确切含义.以下是angular.io中给出的定义.有人可以用一些好的例子来解释它.

ngAfterViewChecked()- Respond after Angular checks the component's views and child views.
Called after the ngAfterViewInit and every subsequent ngAfterContentChecked().
A component-only hook.

ngAfterContentChecked()- Respond after Angular checks the content projected into the component.
Called after the ngAfterContentInit() and every subsequent ngDoCheck().
A component-only hook.
Run Code Online (Sandbox Code Playgroud)

angular2-forms angular2-services angular

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

DataInputStream.read()vs DataInputStream.readFully()

我正在制作一个简单的TCP/IP套接字应用程序

这样做有什么不同:

DataInputStream in = new DataInputStream(clientSocket.getInputStream());

byte[] buffer = new byte[100];
in.readFully(buffer);
Run Code Online (Sandbox Code Playgroud)

与这样做:

DataInputStream in = new DataInputStream(clientSocket.getInputStream());

byte[] buffer = new byte[100];
in.read(buffer);
Run Code Online (Sandbox Code Playgroud)

我看了一下文档,他们有完全相同的描述.readFully()并且read() 因此我可以假设它是一回事吗?

java sockets java-io

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

在php中使用pdo和存储过程

我在MySQL数据库中有一个简单的存储过程:

DELIMITER $$
CREATE DEFINER=`vidhu`@`%` PROCEDURE `test`(var_datain TEXT)
BEGIN
    SELECT var_datain;
END
Run Code Online (Sandbox Code Playgroud)

在mysql-workbench中调用此过程时,它返回我输入的数据:

截图形式mysql工作台

现在,当我使用pdo从PHP调用它时,我收到一个错误:

Fatal error: Cannot pass parameter 2 by reference in C:/apache......(3rd line)
Run Code Online (Sandbox Code Playgroud)

这是我的PHP代码:

$db = new PDO(DSN, DBUSER, DBPASS);
$stmt = $db->prepare("CALL test(?)");
$stmt->bindParam(1, 'hai!', PDO::PARAM_STR);
$rs = $stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo $result[0];
Run Code Online (Sandbox Code Playgroud)

php mysql pdo stored-procedures

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