小编Ren*_*ith的帖子

返回startActivityForResult后,不会重新创建Android parentActivity

我有一个MainActivity,在里面,我正在加载一个片段A.从FragmentA,我使用startActivityforResult调用google placepicker活动,如下所示.

PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
Intent intent = builder.build(getActivity());
getActivity().startActivityForResult(intent,PLACE_PICKER_REQUEST);
Run Code Online (Sandbox Code Playgroud)

但是当我选择地点时,onActivityResult(在FragmentA或MainActivity中)不会被调用.事实上,我的应用程序在startActivityForResult调用后被破坏了.

根据我的理解,android应该重新创建调用活动,如果它在内存中不可用.但它没有发生.甚至没有在MainActivity中调用onCreate.

谁能告诉我这种行为背后的原因还是我错过了什么?

现在我尝试在同一个应用程序中使用另一个活动,而不是PlacePicker活动.

比方说,我有MainActivityFragmentAloaded.I我打电话SubActivitystartActivityForResultFragmentA.现在虽然无法返回SubActivity,退出应用程序.我已Dont keep activities在设备中启用此特定方案的测试.MainActivity当我搬到时,我可以看到被摧毁SubActivity.但是从返回时SubActivity,android没有重新创建MainActivity(甚至onCreate没有被调用.应用程序刚刚退出).

android android-intent android-fragments android-activity

22
推荐指数
2
解决办法
4666
查看次数

滚动listView时为什么项目会消失?

我的应用程序使用ListView显示单元格中不同项目的应用程序.它必须有照片和名称,但它恰好有描述和图标.

问题是:当我滚动ListView并回到顶部时,描述和图标已经消失,只有图像和名称.我的印象是描述和图标已被删除,每行的大小相同.

(BaseAdapter)为我使用自定义适配器ListView:

public class MyAdapterPark extends BaseAdapter {

    private ArrayList<DataPark> datapark;
    private LayoutInflater myInflater;

    public MyAdapterPark (Context context, ArrayList<DataPark> _datapark)
    {
        this.myInflater = LayoutInflater.from(context);
        this.datapark = _datapark;

    }


    @Override
    public int getCount() {
        return this.datapark.size();
    }

    @Override
    public Object getItem(int arg0) {
        return this.datapark.get(arg0);

    }

    @Override
    public long getItemId(int position) {
        return position;
    }


    public static class ViewHolder {
        ImageView image;
        TextView text01;
        ImageView facebook;
        ImageView twitter;
        ImageView linkedin;
        ImageView blog; …
Run Code Online (Sandbox Code Playgroud)

xml layout android listview scrollview

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

hibernate子查询抛出Null指针异常

我试图从hibernate中激活子查询,但它显示NPE :-(任何人都知道如何解决它?下面是代码:

DetachedCriteria criteria = DetachedCriteria.forClass(My.class,"A");
        criteria.createAlias("A.a", "a");
        criteria.createAlias("A.b", "b");
        if(cValue !=null && cValue.size()>0){
            criteria.add(Restrictions.in("b.c", cValue));
        }
        if(StringUtils.isNotEmpty(commodityList)){
            DetachedCriteria commCriteria  = DetachedCriteria.forClass(My.class,"A1");
            commCriteria.createAlias("A1.a", "a1");
            commCriteria.add(Restrictions.in("a1.name", commodityList.split(",")));
            criteria.add(Subqueries.propertyIn("b.c", commCriteria));
        }
        criteria.addOrder(Order.asc("b.c"));

        return getHibernateTemplate().findByCriteria(criteria);
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

java.lang.NullPointerException
    at org.hibernate.loader.criteria.CriteriaQueryTranslator.getProjectedTypes(CriteriaQueryTranslator.java:318)
    at org.hibernate.criterion.SubqueryExpression.toSqlString(SubqueryExpression.java:56)
    at org.hibernate.loader.criteria.CriteriaQueryTranslator.getWhereCondition(CriteriaQueryTranslator.java:334)
    at org.hibernate.loader.criteria.CriteriaJoinWalker.<init>(CriteriaJoinWalker.java:82)
    at org.hibernate.loader.criteria.CriteriaLoader.<init>(CriteriaLoader.java:67)
    at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1550)
    at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
    at org.springframework.orm.hibernate3.HibernateTemplate$36.doInHibernate(HibernateTemplate.java:1065)
    at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
    at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
    at org.springframework.orm.hibernate3.HibernateTemplate.findByCriteria(HibernateTemplate.java:1055)
    at org.springframework.orm.hibernate3.HibernateTemplate.findByCriteria(HibernateTemplate.java:1048)
    at com.boeing.kmapi.base.skillset.dao.impl.EssSkillsetCommMapDAOImpl.getEssSkillsetCommMapforSkillsetIdList(EssSkillsetCommMapDAOImpl.java:51)
    at com.boeing.kmapi.base.skillset.service.impl.EssGenericReportServiceImpl.filterCommodityDetails(EssGenericReportServiceImpl.java:87)
    at com.boeing.kmapi.base.skillset.service.impl.EssGenericReportServiceImpl.getGenericReport(EssGenericReportServiceImpl.java:79)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
Run Code Online (Sandbox Code Playgroud)

通过向内部查询添加投影来解决该问题.

commCriteria.createAlias("A1.b", "b1");
commCriteria.setProjection(Projections.projectionList().add(Projections.property("b1.c")));
Run Code Online (Sandbox Code Playgroud)

java sql spring hibernate sql-server-2005

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

Android Numberpicker默认值未来

加载数字选择器后,触摸前默认值不会出现在屏幕上.

一旦感动,一切正常.任何帮助赞赏.

此外,如果格式化程序被删除,它工作正常.

在此输入图像描述

dialog.xml

<NumberPicker
    android:id="@+id/number_picker"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
     />

<Button
    android:id="@+id/apply_button"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/number_picker"
    android:text="@string/ok_string" />
Run Code Online (Sandbox Code Playgroud)

这是活动代码:

final NumberPicker np = (NumberPicker) d.findViewById(R.id.number_picker);
        np.setMaxValue(50);
        np.setMinValue(0);
        np.setWrapSelectorWheel(true);
        np.setOnValueChangedListener(this);
        np.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS);

        np.setFormatter(new NumberPicker.Formatter() {
            @Override
            public String format(int i) {
                if (i == 25)
                    return "0";
                else
                    return String.valueOf(i - 25);
            }
        });
        np.setValue(25);
Run Code Online (Sandbox Code Playgroud)

提前致谢

android numberpicker

6
推荐指数
2
解决办法
4290
查看次数

Javascript RegExp'*'未按预期工作

我有一个字符串.

var string="ghtykj";
var pattern = "t*y";
Run Code Online (Sandbox Code Playgroud)

当我给出新的RegExp(pattern).test(string)时,它返回true(如预期的那样).

var pattern = "t*g";
Run Code Online (Sandbox Code Playgroud)

但这种模式也是如此.

我期待这个模式返回false,因为t*g表示t后跟零个或多个字符,后跟g.

如果这确实是预期的行为,任何人都可以纠正我在哪里做错了吗?

html javascript regex jquery

5
推荐指数
2
解决办法
189
查看次数

尽管从同步上下文中调用notifyAll(),仍然是IllegalMonitorStateException

public class Alternate {
    static Boolean mutex = true;
    public static void main(String[] args) {
        Thread t1 = new Thread(new Odd(mutex));
        Thread t2 = new Thread(new Even(mutex));
        t1.start();
        t2.start();
    }
}

class Odd implements Runnable{
    Boolean mutex;

    Odd( Boolean mutex){
        this.mutex=mutex;   
    }

    @Override
    public void run() {
        try {
            synchronized(mutex){
                while(mutex){
                    mutex.wait();
                }
                System.out.println("odd");
                mutex=true;
                mutex.notifyAll();
                Thread.sleep(500);
            }
        }catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

class Even implements Runnable{
    Boolean mutex;

    Even( Boolean mutex){
        this.mutex=mutex;
    }

    @Override
    public void …
Run Code Online (Sandbox Code Playgroud)

java multithreading synchronized

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

Android退出转换excludeTarget在android.support.v4.widget.DrawerLayout中无法正常工作

我有一个活动,其中包括一个包含3个片段的viewpager.从第一个选项卡,我调用另一个激活并尝试从退出过渡中排除工具栏和标签栏.

if (Build.VERSION.SDK_INT >= 21) {

                    getActivity().getWindow().setExitTransition(new Slide(Gravity.LEFT).excludeTarget(R.id.toolbar,true));

                    Pair<View, String> pair1 = Pair.create((View) matCvr, matCvr.getTransitionName());
                    Pair<View, String> pair2 = Pair.create((View)matTxt, matTxt.getTransitionName());

                    ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(),pair1,pair2);
                    ActivityCompat.startActivity(getActivity(), matIntent, options.toBundle());
                }
Run Code Online (Sandbox Code Playgroud)

问题是excludeTarget似乎不起作用,整个视图向左滑动.我已尝试像下面的addTarget单独包含viewpager.但在这种情况下,默认的Fade动画正在发生.

getActivity().getWindow().setExitTransition(new Slide(Gravity.LEFT).addTarget(R.id.viewPager));
Run Code Online (Sandbox Code Playgroud)

有人遇到过这个问题吗?任何帮助赞赏.

更新

当我在里面有意见时会出现问题

android.support.v4.widget.DrawerLayout / android.support.design.widget.AppBarLayout
Run Code Online (Sandbox Code Playgroud)

android android-animation material-design android-5.0-lollipop activity-transition

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