小编Nat*_*th5的帖子

片段的onActivityResult

我目前有一个托管单个片段的基本活动.在片段内部,我有一个启动联系人选择器的方法.

private void chooseContacts() {
    Intent pickContactIntent = new Intent(Intent.ACTION_PICK,      ContactsContract.Contacts.CONTENT_URI);
    pickContactIntent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE);
    startActivityForResult(pickContactIntent, PICK_CONTACT_REQUEST);
}
Run Code Online (Sandbox Code Playgroud)

当此活动返回时,我应该如何捕获结果.我试过添加一个

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    //Handle Code
}
Run Code Online (Sandbox Code Playgroud)

我的基本活动和片段,但没有触发任何方法.如果可能的话,我想让片段处理返回,以免混淆活动.

请告诉我这种情况下的最佳做法.

更新:

如果我改变:

startActivityForResult(pickContactIntent, PICK_CONTACT_REQUEST);
Run Code Online (Sandbox Code Playgroud)

getActivity().startActivityForResult(pickContactIntent, PICK_CONTACT_REQUEST);
Run Code Online (Sandbox Code Playgroud)

然后它工作,但其他帖子让我认为这是不正确的.

java android android-intent android-contacts android-fragments

34
推荐指数
3
解决办法
6万
查看次数

PHP路径的最佳实践

我一直在互联网上试图找出在我的网站中处理路径的最佳方法.我应该使用相对路径,绝对路径吗?

我已经多次提到过dirname(FILE).我对相对路径的一个问题是,不同目录级别的几个其他文件包含的php文件会导致相对路径中断.例如,如果目录结构是

Root
    A
    B
       b
Run Code Online (Sandbox Code Playgroud)

并且b和A中的php文件包含来自B的另一个文件,那么B中文件中代码的相对路径将是不同的.

对不起,如果这令人困惑,我很难打出我想说的话.

因此,一般来说,处理代码中包含和文件操作的文件路径的最佳方法是什么.

谢谢

php path twig

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

Java 8方式重复一段代码x次

也许正常的for循环仍然是正确的方法,但我想看看是否有更简洁的方法在java 8中做到这一点.

 for (int i = 0; i < LIMIT; i++) {
     // Code
 }
Run Code Online (Sandbox Code Playgroud)

有没有更多的java 8方法来做到这一点.我实际上并不需要我需要重复x次.

谢谢,内森

java java-8

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

如何从Git导入Android Studio项目

我有和android studio项目我已经检查了git.我的git ignore文件看起来像:

# built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Local configuration file (sdk path, etc)
local.properties

# Eclipse project files
.classpath
.project

# Proguard folder generated by Eclipse
proguard/

# Intellij project files
*.iws
.idea/workspace.xml
.idea/tasks.xml

/gradle
Run Code Online (Sandbox Code Playgroud)

当我去我的笔记本电脑拉下项目时,我不确定我是否应该在android studio中打开或导入以正确地进入项目.当我打开时,我收到以下错误:

Cannot load module file 'D:\dev\android\projects\projectname\ProjectName.iml':
File D:\dev\android\projects\projectname\ProjectName.iml does not exist
Run Code Online (Sandbox Code Playgroud)

即使该文件确实存在.

当我导入而不是打开Android工作室要求gradle home的路径,我不知道该放什么.我正在使用android studio 0.4.3.

任何帮助将非常感激.

回答:

我能够通过开放而不是导入来构建项目.但是在这个过程中,intellij在我项目的根目录下创建了一个额外的iml文件,这个文件在我的桌面上不存在.不知道为什么它被创建,如果我需要它.不能为我的生活找出正确的方法将我的项目推入git然后在另一台机器上恢复它,而不会导致生成大量新文件并破坏事物.

android github android-studio android-gradle-plugin

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

CQEngine针对小型数据集进行优化

我有一个应用程序需要对数百万个较小的集合应用灵活的查询,每个集合的大小从10到10000个.CQEngine在提供查询这些集合的灵活性方面工作得很好,但是比先前更严格的实现要慢得多,后者通过预先计算集合中某些项目属性的聚合来工作.该方法的问题在于它不够灵活,无法轻松处理新属性的添加.

我的问题是处理数百万个较小的集合,我可以做些什么来调整CQEngine以使其更快.

  1. 我应该添加索引,还是只在集合超过某个大小时才添加索引.
  2. 我目前在记录时间戳上使用Navigable,在其他属性上使用HashIndex,类似于类别或标记.

任何想法将不胜感激!

java cqengine

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

带有动画的Android Fragment Transaction会导致白色闪烁

我有两个片段.片段A最初在视图中.当用户按下按钮时,使用以下方法将片段B动画化为视图.当我弹出片段B时,它会在视图中向下移动,但在完成后屏幕会闪烁白色.不确定是什么导致这种情况,似乎只发生在kit-kat而不是棒棒糖上.正在使用的动画是向上滑动并向下滑动在xml中定义的动画.

@Override
public void loadFragment(BaseFragment fragment, boolean replace, boolean addToBackStack, int animIn, int animOut, int animPopIn, int animPopout) {
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    if (animIn != -1 && animOut != -1 && animPopIn != -1 && animPopout != -1) {
        transaction = transaction.setCustomAnimations(animIn, animOut, animPopIn, animOut);
    } else if (animIn != -1 && animOut != -1) {
        transaction = transaction.setCustomAnimations(animIn, animOut);
    }

    if (replace) {
        transaction = transaction.replace(R.id.container, fragment);
    } else {
        transaction = transaction.add(R.id.container, fragment);
    }

    if (addToBackStack) { …
Run Code Online (Sandbox Code Playgroud)

android android-animation android-fragments fragmenttransaction

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

Android工具栏涵盖内容

我正在使用新工具栏并将其设置为supportActionBar.我的问题是它覆盖了我的内容.

这是我用来设置工具栏的代码.

 public void setupNavBar() {
    mToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
    if (mToolbar != null) {
        setSupportActionBar(mToolbar);

        mActionBar = getSupportActionBar();
        mActionBar.setDisplayShowHomeEnabled(true);
        mActionBar.setDisplayShowTitleEnabled(false);
    }
}
Run Code Online (Sandbox Code Playgroud)

风格:

    <!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
</style>

<style name="ToolBarStyle" parent="">
    <item name="android:elevation">5dp</item>
    <item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
    <item name="theme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item>
</style>
Run Code Online (Sandbox Code Playgroud)

和布局:

<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"
tools:context=".MainActivity">

<android.support.v7.widget.Toolbar
    style="@style/ToolBarStyle"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/material_blue_grey_800"
    android:minHeight="@dimen/abc_action_bar_default_height_material"
    android:id="@+id/toolbar_actionbar"

    />

<TextView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#478"
    android:text="@string/hello_world" />
Run Code Online (Sandbox Code Playgroud)

我认为通过调用setSupportActionbar,系统将负责在工具栏视图下方定位内容,但这不是我所看到的.

使用工具栏的正确方法是什么.我有一些活动,我希望工具栏透明,背后的内容和其他我希望它与下面的内容不透明.

谢谢

android android-actionbar android-styles android-toolbar

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

PeriodFormatter不显示天数

我使用PeriodFormatter返回一个字符串,显示事件发生的时间.下面的代码不断创建字符串,如1146小时39分钟,而不是x天y小时z分钟.有任何想法吗?

谢谢,内森

   PeriodFormatter formatter = new PeriodFormatterBuilder()
                .printZeroNever()
                .appendDays()
                .appendSuffix( "d " )
                .appendHours()
                .appendSuffix( "h " )
                .appendMinutes()
                .appendSuffix( "m " )
                .toFormatter();
        return formatter.print( duration.toPeriod() );
Run Code Online (Sandbox Code Playgroud)

java datetime jodatime periodformatter

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

ViewPager + Fragments - 片段未显示

我试图使用viewpager来显示几个片段.目前我只有一个片段,但它似乎永远不会被实例化.我尝试使用pager.setCurrentItem(0),但永远不会调用适配器中的getItem方法.有谁知道为什么我的片段没有加载到下面的代码?

主要活动

public class MainActivity extends SherlockFragmentActivity {

MyPagerAdapter adapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate( savedInstanceState );
    setContentView( R.layout.activity_main );

    // Create the FragmentPager Adapter and assign it to the viewpager
    adapter = new MyPagerAdapter( getSupportFragmentManager(), this );
    ViewPager pager = ( ViewPager ) findViewById( R.id.pager );
    pager.setAdapter( adapter );
    pager.setCurrentItem( 0 );

    // Setup the tab page indicator
    TabPageIndicator indicator = ( TabPageIndicator ) findViewById( R.id.indicator );
    indicator.setViewPager( pager );
}

class MyPagerAdapter extends FragmentStatePagerAdapter {
    private …
Run Code Online (Sandbox Code Playgroud)

android android-fragments actionbarsherlock

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

平滑动画视图隐藏/显示线性布局android

我有一个包含4个嵌套线性布局的linearlayout.我需要隐藏第一个嵌套布局并显示2和3,然后隐藏2和3并显示第1个.我想用滑动效果来动画这些过渡.所以有屏幕的第一张幻灯片,然后是2和3幻灯片.我设法动画1滑动(虽然不是很顺利),但无法弄清楚如何从View.GONE到View.VISIBLE进行滑动.

如果没有动画我只是做setVisiblity 1日将其隐藏,然后setVisiblity的2/3拍他们,那么它是非常出问题和文字重叠.

请参阅下面我遇到的问题.

我用来隐藏/显示的代码:

        LinearLayout item2= (LinearLayout) rootView.findViewById(R.id.item2);
        LinearLayout item1= (LinearLayout) rootView.findViewById(R.id.item2);

            item1.setVisibility(View.GONE);
            item2.setVisibility(View.VISIBLE);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

android android-animation android-layout android-view

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

更改AppCompat操作栏的背景颜色

我在一个片段中,我想在用户点击按钮时更改操作栏颜色并查看背景颜色.我目前在下面的代码会导致操作栏变灰,无论用户选择何种颜色.

private void changeColor( int colorId ) {
    ActionBar actionBar =  ((ActionBarActivity )getActivity()).getSupportActionBar();
    actionBar.setBackgroundDrawable( new ColorDrawable( colorId ) );
    this.getView().setBackgroundColor( getResources().getColor( colorId ) );
}
Run Code Online (Sandbox Code Playgroud)

我的styles.xml中的动作栏主题为蓝色,不确定是否有任何效果.如果您有任何建议,请告诉我.

谢谢,内森

解决方案:必须改变:

actionBar.setBackgroundDrawable( new ColorDrawable( colorId ) );
Run Code Online (Sandbox Code Playgroud)

至:

actionBar.setBackgroundDrawable( new ColorDrawable( getResources().getColor( colorId ) ) );
Run Code Online (Sandbox Code Playgroud)

android colors android-appcompat android-actionbar

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

执行查询时,hive是否运行hadoop?

我正在尝试了解蜂巢和hadoop如何相互作用。从我阅读的教程中,我似乎发现,在运行HIVE查询之前,您需要运行地图/化简作业以获取输入数据。对于我来说,这似乎适得其反,如果我已经运行了map / reduce作业并以易于解析的格式获取了数据,为什么不将数据放入传统数据库中。

感谢您的帮助,内森

database hadoop hive

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

实用对象Symfony 2

我已经尝试过多次开始使用symfony 2,但总是遇到困难.这次我打算坚持下去!

到目前为止,我最大的问题是在没有用户交互的情况下放置将执行任务的对象.

防爆.

我想创建一些php类,它们每天都会处理从几个网站解析一些数据.我希望手动或通过cron作业启动此任务.因此我只需要模型和控制器.(控制器解析站点并创建模型,模型以存储已解析的数据并持久保存到db).这是创建一个仅处理这些后台作业的捆绑包的最佳方式.

我在考虑以下课程:

  • SiteParser

    • Site1Parser扩展SiteParser
    • Site2Parser扩展SiteParser
  • 型号1

  • MODEL2

  • 某些类负责编排不同站点的解析并告知创建的模型持续存在.

这看起来合乎逻辑吗?如果是这样,我将如何将该结构放入symfony?

感谢您的帮助,如果我不清楚或您有疑问,请询问我是否会提供所需的任何详细信息!

php cron bundle wamp symfony

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