小编AnV*_*AnV的帖子

实例化新Android片段的最佳实践

我已经看到了两个在应用程序中实例化新Fragment的一般实践:

Fragment newFragment = new MyFragment();
Run Code Online (Sandbox Code Playgroud)

Fragment newFragment = MyFragment.newInstance();
Run Code Online (Sandbox Code Playgroud)

第二个选项使用静态方法newInstance(),通常包含以下方法.

public static Fragment newInstance() 
{
    MyFragment myFragment = new MyFragment();
    return myFragment;
}
Run Code Online (Sandbox Code Playgroud)

起初,我认为主要的好处是我可以重载newInstance()方法以在创建Fragment的新实例时提供灵活性 - 但我也可以通过为Fragment创建重载构造函数来实现这一点.

我错过了什么?

一种方法比另一种方法有什么好处?还是只是好习惯?

android android-fragments

677
推荐指数
7
解决办法
30万
查看次数

在Android中使用URI构建器或使用变量创建URL

我正在开发一款Android应用.我需要为我的应用程序构建一个URI来发出API请求.除非有另一种方法将变量放在URI中,否则这是我发现的最简单的方法.我发现你需要使用Uri.Builder,但我不太清楚如何使用.我的网址是:

http://lapi.transitchicago.com/api/1.0/ttarrivals.aspx?key=[redacted]&mapid=value 
Run Code Online (Sandbox Code Playgroud)

我的方案是http,权限是lapi.transitchicago.com,路径是/api/1.0,路径段是ttarrivals.aspx,查询字符串是key=[redacted]&mapid=value.

我的代码如下:

Intent intent = getIntent();
String value = intent.getExtras().getString("value");
Uri.Builder builder = new Uri.Builder();
builder.scheme("http")
    .authority("www.lapi.transitchicago.com")
    .appendPath("api")
    .appendPath("1.0")
    .appendPath("ttarrivals.aspx")
    .appendQueryParameter("key", "[redacted]")
    .appendQueryParameter("mapid", value);
Run Code Online (Sandbox Code Playgroud)

我明白我能做到URI.add,但我该如何将其整合到Uri.Builder?我要补充的一切都像URI.add(scheme),URI.add(authority)等等?或者这不是这样做的方法吗?此外,还有其他更简单的方法将变量添加到URI/URL吗?

android uri uribuilder

190
推荐指数
5
解决办法
16万
查看次数

android layout xml中的background,backgroundTint,backgroundTintMode属性有什么区别?

在使用android布局xml时,我遇到了backgroundTint属性.我不明白是什么.

还有什么backgroundTintMode

android android-layout

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

Android中的Looper,Handler和MessageQueue之间有什么关系?

我查了官方的Android文档/指南Looper,HandlerMessageQueue.但我无法得到它.我是android新手,对这些概念非常困惑.

android message-queue handler looper

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

Android:如何将Parcelable对象传递给intent并使用bundle的getParcelable方法?

为什么捆绑getParcelableArrayList,getParcelable方法; 但 Intent只有putParcelableArrayListExtra方法?我可以只传输object<T>,而不是ArrayList一个元素吗?那么,是getParcelable为了什么?

android bundle parcelable android-intent

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

我们应该用ToolBar替换Action Bar吗?

我一直在使用ToolBar它,因为它被添加到Support v7库中.我觉得我用得很好.但有一点我无法理解.为什么Google会创建这样的小部件?我的意思是我们可以ToolBar通过使用做任何事情ActionBar.我们为什么要使用ToolBar?有什么优势ToolBarActionBar如果有的话?是否有必要更换ActionBarToolBar

任何提示都表示赞赏.并提前感谢.

PS:我发现ToolBar是一个蜕变ViewGroup.那么,我们怎么能ToolBarLayout?有人可以发布一些代码吗?

android android-actionbar android-toolbar

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

Android Honeycomb中的加载器

我正试图弄清楚如何Loaders在Android 3.0中使用,但似乎无法让它工作.文档只描述使用,CursorLoader但我正在使用AsyncTaskLoader.

从文档中看来,您应该只需要实现,AsyncTaskLoader.loadInBackground()但它永远不会被调用getLoaderManager().initLoader(),然后在回调中创建加载器.

我可以看到调试消息说它Created new loader LoaderInfo{4040a828 #0 : ArticleDataLoader{4036b350}}好像是成功创建的.

是否有可能在SDK中破坏了加载器,或者在创建加载器后是否需要调用某些方法?(他们在CursorLoader示例中没有这样做).

编辑:似乎调用forceLoad()返回的Loader initLoader()至少启动加载,但这意味着你无法正确处理旋转:(

android android-3.0-honeycomb android-loadermanager android-loader

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

使用imageView.setImageBitmap方法将位图设置为ImageView的背景

我有一个ImageView.我imageView.setImageBitmap用来将我的图像设置为背景ImageView.但它将我的图像设置为ImageView源(即android:src),但它不会将我的图像设置为ImageView背景(即android:background).

当我使用imageView.setImageBitmap,它看起来像,好像我以前imageView.setImageResource没有imageView.setBackgroundResource.

如果我想使用将图像设置为背景,我该如何处理imageView.setImageBitmap.我知道我可以通过制作习惯来做到这一点ImageView.但是没有习惯可能ImageView吗?如果有可能,请告诉我怎么做.

android android-imageview

35
推荐指数
3
解决办法
8万
查看次数

python 2.7.5中的str()vs repr()函数

python 2.7.5 str()repr()函数有什么区别?

python.org上的说明:

str()函数用于返回值相当于人类可读的值的表示,同时repr()用于生成可由解释器读取的表示(或者SyntaxError如果没有等效语法则强制执行)

但这对我来说并不清楚.

一些例子:

>>> s = 'Hello, world.'
>>> str(s)
'Hello, world.'
>>> repr(s)
"'Hello, world.'"      # repr is giving an extra double quotes
>>> str(1.0/7.0)
'0.142857142857'
>>> repr(1.0/7.0)
'0.14285714285714285'  # repr is giving value with more precision
Run Code Online (Sandbox Code Playgroud)

所以我想知道以下内容

  1. str()应该何时使用,何时使用repr()
  2. 在哪些情况下我可以使用它们中的任何一个?
  3. 什么可以str()做哪些repr()不可以?
  4. 什么可以repr()做哪些str()不可以?

python string repr python-2.7

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

java.io.Buffer*流如何与普通流不同?

1)缓冲流如何在后台工作,它们与普通流有什么不同?使用它们的优点是什么?

2)DataInputStream也是以字节为基础的.但它有方法readLine().这里有什么意义?

java stream bufferedinputstream bufferedreader java-io

11
推荐指数
3
解决办法
7532
查看次数