我在非常简单的GridView中遇到了奇怪的滚动问题.Grid中的每个项目都只是一个ImageView和一个TextView.活动本身就是一个应用程序选择器.它看起来像是Android中基本App Tray的粗略版本.
问题是,在花了一些时间滚动浏览我的视图后,它将不可避免地允许我继续滚动到顶行图标,到空白屏幕,滚动条将消失,让我卡住.
每次我到视图顶部时都不会发生这种情况,有时只会在经过一些过度滚动之后才会发生.
如果我碰巧注意到问题并在顶行从屏幕底部消失之前抓住它,我通常可以向后滚动视图并发现一些图标丢失.网格中有空格,我只能假设这些图标已经移动到某个奇怪的位置,这允许视图滚动到顶部.
这是我在基本的Hello World之外的第一个Android应用程序,所以我可能只是搞砸了我的布局文件.我也意识到这可能是一个非常令人困惑的描述,所以我希望有人经历过这个,我的搜索能力根本无法找到它.
如果有人认为有用,我可以发布我的布局文件或其他代码.
哦,程序是针对1.5构建的,但是在我的手机上运行2.2(无论2.2上面的状态,就是上周的那个状态).我没有足够的应用程序在模拟器上测试它,但如果有人认为有必要,可能会设置一些东西.
提前感谢您对此问题的任何帮助.
我有一个常规的UINavigationController,我将一系列UIViewController推入堆栈.push控制器的视图转换是水平动画转换:[self.navigationController pushViewController:controller animated:YES];
但是,当我按下导航栏上的"后退"按钮时,视图过渡动画是垂直的(垂直下降前一个控制器/视图).
我似乎没有找到任何方法使这个水平.这仅在横向模式下发生.纵向模式转换都发生在水平翻转过渡.
任何人都可以对此有所了解吗?
谢谢
我正在为学校项目创建一个RPN计算器.我在模数运算符方面遇到了麻烦.由于我们使用的是双数据类型,因此模数不适用于浮点数.例如,0.5%0.3应该返回0.2,但我得到除零异常.
该指令说使用fmod().我到处寻找fmod(),包括javadocs,但我找不到它.我开始认为这是一种我必须创建的方法?
编辑:嗯,奇怪.我只是再次插入这些数字,似乎工作正常......但以防万一.使用浮动类型时,是否需要注意在Java中使用mod运算符?我知道这样的事情不能在C++中完成(我想).
我有一个单词将被放在一个图像,但问题是,即使单词超出图像的宽度,单词仍然继续
无论如何,如果单词超出图像的宽度,单词shift会向下移动,或者如果超出给定点,则单词shift向下移动
我正在完成"开始iPad应用程序开发",并且在第3章中我已经创建了一个与Action Sheet一起工作的项目.
就像现在一样,我的应用程序很好地加载到模拟器中没有我知道的错误,但是当它运行时,它会在调试器窗口中显示以下错误而崩溃:
2010-05-31 19:44:39.703 UsingViewsActionSheet [49538:207]***断言失败 - [UIActionSheet showInView:],/ SourceCache/UIKit_Sim/UIKit-1145.66/UIAlert.m:7073
2010-05-31 19:44:39.705 UsingViewsActionSheet [49538:207]***由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'无效的参数不满足:view!= nil
"
我确信这是应用程序基于我使用断点而中断的块.
//实现viewDidLoad在加载视图后执行其他设置,通常是从nib.
- (void)viewDidLoad {
UIActionSheet *action = [[UIActionSheet alloc]
initWithTitle:@"This is my Action Sheet!"
delegate:self
cancelButtonTitle:@"OK"
destructiveButtonTitle:@"Delete Message!"
otherButtonTitles:@"Option 1", @"Option 2", @"Option 3", nil];
[action showInView:self.view]; // <-- This line seems to trigger the crash....
[action release];
[super viewDidLoad];
Run Code Online (Sandbox Code Playgroud)
}
我错过了一些明显的东西,还是问题比这里显示的更多?我已经查看了showInView的摘要,并且还无法对其进行任何修改.
我感谢任何和所有的支持.
问候,
史蒂夫奥沙利文
我试图找出从父页面访问<iframe>元素window和document属性的最佳方法.所述<iframe>可以通过JavaScript创建或通过存储在对象属性或变量的引用访问,因此,如果正确地明白的是排除了使用的document.frames.
我已经看到了很多方法,但我不确定最好的方法.鉴于<iframe>以这种方式创建:
var iframe = document.createElement('iframe');
document.getElementsByTagName('body')[0].appendChild(iframe);
Run Code Online (Sandbox Code Playgroud)
我目前正在使用它来访问它document,它似乎在主要浏览器上运行正常:
var doc = iframe.contentWindow || iframe.contentDocument;
if (doc.document) {
doc = doc.document;
}
Run Code Online (Sandbox Code Playgroud)
我也看到了这种方法:
var iframe = document.getElementById('my_iframe');
iframe = (iframe.contentWindow) ? iframe.contentWindow :
(iframe.contentDocument.document) ? iframe.contentDocument.document :
iframe.contentDocument;
iframe.document.open();
iframe.document.write('Hello World!');
iframe.document.close();
Run Code Online (Sandbox Code Playgroud)
这让我感到困惑,因为似乎如果iframe.contentDocument.document定义了,你最终会试图访问iframe.contentDocument.document.document.
还有这个:
var frame_ref = document.getElementsByTagName('iframe')[0];
var iframe_doc = frame_ref.contentWindow ? frame_ref.contentWindow.document :
frame_ref.contentDocument;
Run Code Online (Sandbox Code Playgroud)
最后,我想我很困惑哪些属性包含哪些属性,无论contentDocument是等价document还是有这样的属性contentDocument.document,等等. …
它似乎没有意义,除非我们只是忽略一个段开头的任何潜在的多余空间,然后让第一个分配的块位于8的第一个倍数(其对应的第一个头是该地址-4) .这将在未使用之前留下许多字节.这是普遍做的吗?
编辑: 感谢paxdiablo的详细说明如下.这对16字节标题都有意义.但是,我正在使用一个4字节的标题,看起来像这样:
struct mhdr {
int size; // size of this block
} tMallocHdr;
Run Code Online (Sandbox Code Playgroud)
现在,如果我的堆开始的地址是8的倍数,并且malloc返回的任何地址需要是8的倍数,并且我需要使用4个字节的标题,我似乎被迫"浪费"第一个我的堆的4个字节.例如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
^
(heap starts)
Run Code Online (Sandbox Code Playgroud)
如果堆在地址8处的胡萝卜上面开始,使用本例中的寻址方案,我可以在malloc调用之后返回给用户的第一个可返回地址为16; 我需要4个字节的标头,第一个地址是8的倍数,它允许4个字节的标题是16(标题从12开始).这意味着我浪费了内部堆内存的前4个字节来排队(8-11).
这是可以接受的牺牲,还是我在考虑这个错误?
我注意到如果我为任何CPU/x64构建我的WPF应用程序,启动(大约20秒)或加载新控件需要花费的时间比在x86上启动(在发布和调试模式下) ,在VS的内部或外部.甚至最简单的WPF应用程序也会出现这种情况.在这个MSDN线程中讨论了这个问题,但没有提供答案.这只发生在.NET 4.0中 - 在3.5 SP1中,x64与x86一样快.有趣的是,微软似乎知道这个问题,因为VS2010中新的WPF项目的默认值是x86.
这是一个真正的错误还是我做错了?
编辑:可能与此相关:C#.NET 4.0中的慢速数据绑定设置时间.我正在大量使用数据绑定.
我有一种情况需要有条件地对wpf datagrid单元格进行readonly.DataGridCell中有IsReadOnly属性.但不幸的是,该财产是只读!有什么办法吗?
蚂蚁.
我正在为PIC32MX编写C语言,使用Microchip的PIC32 C编译器(基于GCC 3.4)编译.
添加我遵循的标准是GNU99(带有GNU扩展的C99,编译器标志-std=gnu99)
我的问题是:我有一些可重新编程的数字数据存储在EEPROM或芯片的程序闪存中.这意味着当我想存储浮动时,我必须做一些类型的惩罚:
typedef union
{
int intval;
float floatval;
} IntFloat;
unsigned int float_as_int(float fval)
{
IntFloat intf;
intf.floatval = fval;
return intf.intval;
}
// Stores an int of data in whatever storage we're using
void StoreInt(unsigned int data, unsigned int address);
void StoreFPVal(float data, unsigned int address)
{
StoreInt(float_as_int(data), address);
}
Run Code Online (Sandbox Code Playgroud)
我还将默认值包含为编译时常量数组.对于(无符号)整数值,这是微不足道的,我只使用整数文字.但是对于浮点数,我必须使用这个Python片段将它们转换为它们的单词表示形式,以将它们包含在数组中:
import struct
hex(struct.unpack("I", struct.pack("f", float_value))[0])
Run Code Online (Sandbox Code Playgroud)
...所以我的默认数组有这些难以理解的值,如:
const unsigned int DEFAULTS[] =
{
0x00000001, // Some default integer value, 1
0x3C83126F, // …Run Code Online (Sandbox Code Playgroud) c ×2
wpf ×2
.net ×1
.net-4.0 ×1
64-bit ×1
android ×1
datagrid ×1
document ×1
dom ×1
embedded ×1
gcc ×1
heapalloc ×1
iframe ×1
ipad ×1
iphone ×1
java ×1
javascript ×1
landscape ×1
modulus ×1
objective-c ×1
performance ×1
transition ×1
type-punning ×1
view ×1
wpfdatagrid ×1