Fragment使用Views而不是在不同布局中重用的自定义s有什么好处?
在最初介绍片段的博客文章中,Dianne Hackborn说
[片段]使开发人员可以更轻松地编写可扩展到各种屏幕大小的应用程序,而不仅仅是平台中已有的工具.
她继续在为应用程序制作平板电脑布局的背景下解释片段,该应用程序结合了同一应用程序的手机版本中两个活动的UI.
但似乎可以使用自定义视图实现相同的重用.片段和视图之间的主要区别似乎是它们具有不同的生命周期......
该Fragment生命周期是:
onAttach(),onCreate(),onCreateView(),onActivityCreated(),onStart(),onResume(),onPause(),onStop(),onDestroyView(),onDestroy(),onDetatch().
该View生命周期是:
ctor,onFinishInflate(),onAttachedToWindow(),onMeasure(),onLayout(),onDetatchedFromWindow()
我想听听开发人员在编写大型应用程序方面的经验,这些应用程序讲述了他们在使用Fragments和自定义视图时将UI划分为可重用部分的好处(如果有的话).
我有一个自定义ViewSwitcher,我实现了触摸事件,所以我可以使用触摸屏滚动屏幕.
我的布局层次结构如下所示:
<ViewSwitcher>
<LinearLayout>
<ListView />
</LinearLayout>
<LinearLayout>
<ListView />
</LinearLayout>
</ViewSwitcher>
Run Code Online (Sandbox Code Playgroud)
现在,问题是触摸事件正被消耗
ListViews,我无法切换视图.当我没有时,它工作正常ListViews.我需要能够滚动浏览视图并滚动查看ListView.
我该如何解决这个问题?
编辑:我还需要ListView可点击的项目.
提前致谢!
如何防止触发器的递归执行?假设我想在账户图表上构建一个"树形"描述.所以我所做的是当插入/更新新记录时,我更新了父记录down_qty,因此这将以递归方式触发更新触发器.
现在,我的代码还可以 - 我把它放在UPDATE触发器的第一行:
-- prevents recursive trigger
if new.track_recursive_trigger <> old.track_recursive_trigger then
return new;
end if;
Run Code Online (Sandbox Code Playgroud)
当我需要更新父记录的数量时,这是我的触发器的示例代码:
update account_category set
track_recursive_trigger = track_recursive_trigger + 1, -- i put this line to prevent recursive trigger
down_qty = down_qty - (old.down_qty + 1)
where account_category_id = m_parent_account;
Run Code Online (Sandbox Code Playgroud)
我想如果PostgreSQL中有一种方法可以检测递归触发而不引入一个类似于MSSQL的新字段trigger_nestlevel.
[编辑]
我在树内循环,我需要将down_qty每个account_category回到它的根部.例如,我插入一个新的账户类别,它需要递增down_qty其父的account_category,同样,当我更改帐户类别的父母account_category,我需要递减down_qty的account_category的早先父account_category.虽然我认为它可以,但我不是让PostgreSQL做递归触发器.我之前使用的是MSSQL,其中触发递归深度级别仅限于16级别.
我有一个可移植的库,我用于Windows Phone应用程序.在同一个可移植库中,我有几个内容文件(Build Action = Content).
我DataReader在Portable Library中创建了一个类,它应该向我返回一个流到内容文件.然而,下面的代码我一直取回null的GetManifestResourceStream.我究竟做错了什么?
public class DataReader
{
public static Stream GetStream(string code)
{
string path = string.Format("./data/code-{0}.dat", code);
return Assembly.GetExecutingAssembly().GetManifestResourceStream(path);
}
}
Run Code Online (Sandbox Code Playgroud) 我正在我的Mac上开发GWT应用程序,现在我应该在我的PC上在IE中测试它.
但是,我不想将代码复制到PC以重建项目并最终进行测试.
我也不想在我的Mac上设置整个Apache + Tomcat服务器来部署项目,以便我的PC可以访问该Web应用程序.
有没有什么办法可以在我的Mac上以调试模式运行我的GWT应用程序,并在我的PC上的IE中测试它?我正在使用Spring + Maven + Eclipse + GWT.
我有一些文件,例如AAA_a001.jpg,BBB_a002.jpg,CCC_a003.jpg在Windows 7中,我试图用批量重命名这些文件a001_AAA.jpg,a002_BBB.jpg,a003_CCC.jpg.
只需交换内容_.
我一直在寻找,但仍然不知道该怎么做.有人可以帮忙吗?谢谢.
在全新安装的Windows 7和Xampp上,我无法访问localhost.它只是表示即使Apache和MySQL运行得很好也没有找到.到目前为止我尝试了什么:
hosts此行的文件:127.0.0.1 localhost我迷失在这里,有没有人知道问题可能是什么?
[编辑]
我解决了这个问题.出于某种原因,Apache使用的是端口85而不是80.我在Apache的配置文件中更改Listen 85了Listen 80.一切都很好.
我使用Crystal Reports XIr2创建了一个报告,用于报告来自数据库的信息以用于我们的应用程序.它是一个交叉表报告,报告从运行存储过程返回的各种数据.
关于运行此报告的应用程序的一小部分 - 它是一个用VB6编写的应用程序,在加载应用程序时会提示您输入用户名和密码,这些用户名和密码在SQL服务器上配置为SQL登录,因此当您登录时您正在针对SQL Server安全性进行身份验证的应用程序.
该报告在Crystal Reports中运行得非常好,但是当我们在客户站点上的应用程序中启动时,我遇到了一些奇怪的行为.它适用于具有"sa"级数据库访问权限的所有用户,但在与其他任何用户一起运行时会出现以下错误;

如果我作为在应用程序中获得上述错误的用户直接连接到数据库服务器,则手动运行存储过程可以正常工作而不会出现任何错误.
如果我在SQL服务器上为我们的应用程序"sa"权限中的用户提供错误,则错误将停止发生.
我已经检查了相关存储过程的所有相关执行权限,但如上所述,如果我手动连接到SQL Server并执行该过程,我不会得到上面链接的错误.
如果收到此错误的用户在此报告之前运行另一个报告,则它可以正常工作,但是如果他们在收到此错误后运行报告,则所有报告都会停止工作并需要重新启动应用程序.
有什么想法吗?
这是我的第一个问题,如果我错过了什么,请告诉我!
使用Android API 16的新Media Codec实现来尝试解码视频,以便我可以发送要作为纹理应用的帧(纹理部分已经完成).所以我已经提出了以下代码,并在堆栈中提供了一些帮助,但在runOutputBuffer()我outputBufIndex回来的时候-1(或者我-1在超时时提供的无限循环中)任何人都可以帮助解决这个问题,并且/或者提供任何关于去哪里的建议从那里?
感谢您的帮助,这是我的代码:
public MediaDecoder( BPRenderView bpview )
{
surface = bpview;
extractor = new MediaExtractor( );
extractor.setDataSource( filePath );
format = extractor.getTrackFormat( 0 );
mime = format.getString( MediaFormat.KEY_MIME );
createDecoder( );
runInputBuffer( );
}
public void createDecoder( )
{
codec = MediaCodec.createDecoderByType( "video/avc" );
// format =extractor.getTrackFormat( 0 );
Log.d( LOG_TAG, "Track Format: " + mime );
// format.setInteger( MediaFormat.KEY_BIT_RATE, 125000 );
// format.setInteger( MediaFormat.KEY_FRAME_RATE, 15 );
// …Run Code Online (Sandbox Code Playgroud) 对不起,如果看起来很简单,但这是什么意思:
array($this, $some_method_string)
Run Code Online (Sandbox Code Playgroud)
在这段代码中:
array_map(array($this, $some_method_string), $some_data)
Run Code Online (Sandbox Code Playgroud)