我有一个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活动.
比方说,我有MainActivity与FragmentAloaded.I我打电话SubActivity跟startActivityForResult从FragmentA.现在虽然无法返回SubActivity,退出应用程序.我已Dont keep activities在设备中启用此特定方案的测试.MainActivity当我搬到时,我可以看到被摧毁SubActivity.但是从返回时SubActivity,android没有重新创建MainActivity(甚至onCreate没有被调用.应用程序刚刚退出).
我的应用程序使用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) 我试图从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) 加载数字选择器后,触摸前默认值不会出现在屏幕上.
一旦感动,一切正常.任何帮助赞赏.
此外,如果格式化程序被删除,它工作正常.

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)
提前致谢
我有一个字符串.
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.
如果这确实是预期的行为,任何人都可以纠正我在哪里做错了吗?
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) 我有一个活动,其中包括一个包含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
android ×4
java ×2
hibernate ×1
html ×1
javascript ×1
jquery ×1
layout ×1
listview ×1
numberpicker ×1
regex ×1
scrollview ×1
spring ×1
sql ×1
synchronized ×1
xml ×1