在我的应用程序中,我最初在屏幕上有一个按钮,在onclick按钮中,应该打开一个弹出窗口.在弹出窗口中,我有一个图像onclick按钮,而这个按钮,我想开始一个活动.弹出窗口打开,但我不明白如何处理onclick弹出窗口中的图像按钮.
在main.xml中,我有一个按钮,在popup_example.xml中,我有一个图像按钮.
我的Java代码如下:
final LayoutInflater inflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final Button b=(Button)findViewById(R.id.btn);
b.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
PopupWindow pw = new PopupWindow(inflater.inflate(R.layout.popup_example,(ViewGroup)findViewById(R.layout.main)));
pw.showAtLocation(v, Gravity.LEFT,0,0);
pw.update(8,-70,150,270);
//if onclick written here, it gives null pointer exception.
ImageButton img=(ImageButton)findViewById(R.id.home);
img.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
Intent.....
}
});
//if onclick is written here it gives runtime exception.
});
Run Code Online (Sandbox Code Playgroud)
我有两个xml布局.........
main.xml中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageButton
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ghj" …Run Code Online (Sandbox Code Playgroud)此代码无法使用g ++ 4.2.1进行编译,但在vc ++ v8下工作正常.
#include <set>
typedef std::set<int *> IntPtrSet;
IntPtrSet iptrSet;
typedef std::set<shared_ptr<int>> IntPtrSet2;
IntPtrSet2 iptrSet2;
void AddIntegers(int& x)
{
iptrSet.insert(&x);
iptrSet2.insert(&x);
}
Run Code Online (Sandbox Code Playgroud)
shared_ptr类似于boost :: shared_ptr或tr1 :: shared_ptr.
它会发出以下错误,
No matching function for call to std::allocator<shared_ptr<int>>::construct(int**, const shared_ptr<int>&)
No matching function for call to std::allocator<shared_ptr<int> >::destroy(int **)
Run Code Online (Sandbox Code Playgroud)
有人之前遇到过这样的错误吗?如果是,那么解决方法是什么.
这是完整的错误消息:
/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/bits/stl_tree.h:402: error: no matching function for call to 'std::allocator<shared_ptr<int> >::destroy(int**)'
/Users/mark/Templates/Function/main.cpp:188: instantiated from here
/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/bits/stl_tree.h:380: error: no matching function for call to 'std::allocator<shared_ptr<int> >::construct(int**, const shared_ptr<int>&)'
/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/ext/new_allocator.h:106: note: candidates …Run Code Online (Sandbox Code Playgroud) 我正在尝试按照Android映射教程进入这一部分,我必须得到一个API密钥.
我找到了我,debug.keystore但目录中似乎没有keytool应用程序:
C:\Documents and Settings\tward\\.android>ls
adb_usb.ini avd debug.keystore repositories.cfg androidtool.cfg ddms.cfg default.keyset
Run Code Online (Sandbox Code Playgroud)
keytool这个目录中也没有:
C:\Android\android-sdk-windows\tools>ls
AdbWinApi.dll apkbuilder.bat etc1tool.exe mksdcard.exe
AdbWinUsbApi.dll ddms.bat fastboot.exe source.properties
Jet dmtracedump.exe hierarchyviewer.bat sqlite3.exe
NOTICE.txt draw9patch.bat hprof-conv.exe traceview.bat
adb.exe emulator.exe layoutopt.bat zipalign.exe
android.bat emulator_NOTICE.txt lib
Run Code Online (Sandbox Code Playgroud)
我使用Eclipse作为编辑器,并且相信我已经下载了所有最新的SDK.
我究竟做错了什么?
如何使用月/年从表中获取记录?我有这样一张桌子:
Name - varchar
DueDate -datetime
Status -boll
Run Code Online (Sandbox Code Playgroud)
DueDate 是项目截止日期,我想要记录对应月/年,而不是完整日期,我的意思是特定月份的记录.
我怎么能在mysql中这样做?
示例XML:
<assignments>
<assignment id="911990211" section-id="1942268885" item-count="21" sources="foo">
<options>
<value name="NumRetakes">4</value>
<value name="MultipleResultGrading">6</value>
<value name="MaxFeedbackAttempts">-1</value>
<value name="ItemTakesBeforeHint">1</value>
<value name="TimeAllowed">0</value>
</options>
</assignment>
<assignment id="1425185257" section-id="1505958877" item-count="4" sources="bar">
<options>
<value name="NumRetakes">0</value>
<value name="MultipleResultGrading">6</value>
<value name="MaxFeedbackAttempts">3</value>
<value name="ItemTakesBeforeHint">1</value>
<value name="TimeAllowed">0</value>
</options>
</assignment>
<assignments>
Run Code Online (Sandbox Code Playgroud)
使用XPath,我想选择节点"name"属性为"MaxFeedbackAttempts"并且节点内容为"-1"的所有赋值/赋值/选项/值节点.也就是说,我想返回看起来像这样的每个节点:
<value name="MaxFeedbackAttempts">-1</value>
Run Code Online (Sandbox Code Playgroud)
我可以使用以下命令获取具有指定属性的每个赋值/赋值/选项/值节点:
//assignment/options/value[@name="MaxFeedbackAttempts"]
Run Code Online (Sandbox Code Playgroud)
我只是不确定如何优化此路径以限制基于节点内容的结果.有没有办法用XPath做到这一点?
比方说,我有这个简单的类:
public class MyClass
{
public String MyProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
获取MyProperty的PropertyInfo的方法是:
typeof(MyClass).GetProperty("MyProperty");
Run Code Online (Sandbox Code Playgroud)
这糟透了!
为什么?容易:一旦我更改属性的名称就会中断,它需要很多专门的测试才能找到像这样使用属性的每个位置,重构和使用树无法找到这些类型的访问.
有没有办法正确访问一个属性?什么,在编译时验证?
我喜欢这样的命令:
propertyof(MyClass.MyProperty);
Run Code Online (Sandbox Code Playgroud) 例如:
// NUnit-like pseudo code (within a TestFixture)
Ctor()
{
m_globalVar = getFoo();
}
[Test]
Create()
{
a(m_globalVar)
}
[Test]
Delete()
{
// depends on Create being run
b(m_globalVar)
}
Run Code Online (Sandbox Code Playgroud)
… 要么…
// NUnit-like pseudo code (within a TestFixture)
[Test]
CreateAndDelete()
{
Foo foo = getFoo();
a(foo);
// depends on Create being run
b(foo);
}
Run Code Online (Sandbox Code Playgroud)
......我和后者一起去,并假设我的问题的答案是:
不,至少不是NUnit,因为根据NUnit手册:
构造函数不应该有任何副作用,因为NUnit可能会在会话过程中多次构造类.
...另外,我可以认为一般来说这是不好的做法吗?由于测试通常可以单独运行.因此,删除可能永远不会清除Create的结果.
它经常被问到 - 但我还没有看到一个好的答案(我看了).如果将CSS中的背景图像设置为表格行 - 图像将在每个单元格中重复出现.如果你设置position: relative(为行)并设置background-image: none(对于单元格)它解决了IE上的问题,但不解决铬问题!我不能使用背景定位,因为有很多电话,它们的大小各不相同.(而且图片不对称 - 从一边消失.任何人?
css代码示例:
tr { height: 30px; position:relative;}
tr.green { background: url('green_30.png') no-repeat left top; }
tr.orange { background: url('oranger_30.png') no-repeat left top;}
tr.red { background: url('red_30.png') no-repeat left top; }
td { background-image: none; }
Run Code Online (Sandbox Code Playgroud)
HTML是基本的 - 一个多单元格表.
目标是让不同颜色淡入每一行,但它可以是任何非图案图像.
我有一个宏(Visual Studio 2008中的http://weblogs.asp.net/koenv/archive/2008/02/14/quick-attach-and-detach-debugger.aspx)将调试器附加到IIS(用于ASP.NET/WC开发) ).我使用选项对话框为其指定了快捷方式.
现在我将宏迁移到Visual Studio 2010但我无法在命令列表中找到宏来为其分配快捷方式,因此显然我的宏不再被识别为命令.奇怪的是,VS 2010中的开箱即用示例宏位于列表中.
谁知道我可能做错了什么?
我正在尝试吐出一个django页面,其中列出了创建年份的所有条目.所以,例如:
2010:
注4
注5
注6
2009年:
注1
笔记2
注3
事实证明,这比我预期的要困难得多.数据来自的模型如下:
class Note(models.Model):
business = models.ForeignKey(Business)
note = models.TextField()
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
class Meta:
db_table = 'client_note'
@property
def note_year(self):
return self.created.strftime('%Y')
def __unicode__(self):
return '%s' % self.note
Run Code Online (Sandbox Code Playgroud)
我尝试了几种不同的方式,但似乎遇到了各种障碍.我猜测一个有效的'分组'方法可以解决这个问题(PostGres DB Backend),但我似乎无法找到任何支持它的Django功能.我尝试从数据库中获取个别年份,但我很难找到一种仅按年份值过滤datetime字段的方法.最后,我尝试添加note_year @property,但因为它是派生的,所以我无法过滤这些值.
有什么建议以优雅的方式做到这一点?我认为它应该非常简单,但我有一个heckuva时间.任何想法都非常感激.