如果我有自定义菜单.
如何在Swiper.js中随时查看特定幻灯片?
<div class="menu">
<ul>
<li class="slide-3">go to slide 3</li>
<li class="slide-5">go to slide 5</li>
<li class="slide-1">go to slide 1</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
我试过这样的东西但是没有用:
$('.slide-3').click(function(e) {
e.preventDefault();
$(".menu .active").removeClass('active');
$(this).addClass('active');
swipeTo( $('.pag2').index() );
});
Run Code Online (Sandbox Code Playgroud) 我有接受dicts或其他对象的方法以及从这些对象中获取的"fields"的名称.如果对象是dict,则该方法用于__getitem__检索命名键,或者getattr用于检索命名属性.这在网络模板语言中非常常见.例如,在变色龙模板中,您可能具有:
<p tal:content="foo.keyname">Stuff goes here</p>
Run Code Online (Sandbox Code Playgroud)
如果你foo像dict一样传入{'keyname':'bar'},然后foo.keyname获取'keyname'键以获得'bar'.如果foo是类的实例,如:
class Foo(object):
keyname = 'baz'
Run Code Online (Sandbox Code Playgroud)
然后foo.keyname从keyname属性中获取值.变色龙本身实现了这个功能(在chameleon.py26模块中),如下所示:
def lookup_attr(obj, key):
try:
return getattr(obj, key)
except AttributeError as exc:
try:
get = obj.__getitem__
except AttributeError:
raise exc
try:
return get(key)
except KeyError:
raise exc
Run Code Online (Sandbox Code Playgroud)
我在自己的包中实现了它,如:
try:
value = obj[attribute]
except (KeyError, TypeError):
value = getattr(obj, attribute)
Run Code Online (Sandbox Code Playgroud)
问题是,这是一种非常常见的模式.我已经在很多模块中看到过这种方法或者与它非常类似的方法.那么为什么在语言的核心,或者至少在一个核心模块中不是这样的东西呢?如果做不到这一点,是那里怎么会以明确的方式应该写?
在尝试包装任意对象时,我遇到了字典和列表的问题.调查,我设法提出了一段简单的代码,其行为我根本不理解.我希望你们中的一些人可以告诉我发生了什么:
>>> class Cl(object): # simple class that prints (and suppresses) each attribute lookup
... def __getattribute__(self, name):
... print 'Access:', name
...
>>> i = Cl() # instance of class
>>> i.test # test that __getattribute__ override works
Access: test
>>> i.__getitem__ # test that it works for special functions, too
Access: __getitem__
>>> i['foo'] # but why doesn't this work?
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'Cl' object has no attribute '__getitem__'
Run Code Online (Sandbox Code Playgroud) 我用过PopupWindow.使用此PopupWindow,我将BackgroundDrawable设置为空的BitmapDrawable.
当我使用以下代码时,它会给出一个弃用的警告:
myPopupWindow.setBackgroundDrawable(new BitmapDrawable());
Run Code Online (Sandbox Code Playgroud)
所以我改成了:
myPopupWindow.setBackgroundDrawable(new BitmapDrawable(
getApplicationContext().getResources(),
Bitmap.createBitmap(0, 0, Bitmap.Config.ARGB_8888)
));
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误,即Bitmap的宽度和高度必须大于0.
现在我使用:
myPopupWindow.setBackgroundDrawable(new BitmapDrawable(
getApplicationContext().getResources(),
Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888)
));
Run Code Online (Sandbox Code Playgroud)
它有效.但是使用1x1像素的Bitmap而不是像我想要的那样完全空的Bitmap似乎有点不对.还有另一种实际使用空BitmapDrawable的方法,而不是1 x 1像素的方法吗?
我在一个神秘的问题上停留了一段时间.所以我在我的Android应用程序中实现了GCM,但是我收到了INVALID_SENDER错误.
关于这一点的奇怪之处在于我已经有一个注册ID来发送通知.所以我的控制台看起来像这样:
03-26 09:39:20.233: I/<test>(19761): Already registered: APA91bG6- O3OnZt50EAjYvJ5KETv3qAlPOn2SfOPXez7SLAmaAOkHTN6EMDJb91gFIWkftZkJiub6UoEk4O- WQP7kk2oZGQjZ1VCZZS0WddQtjFaCfYfZfb7SEw3IS1sd4caJcdZE4LA1F0hxzc7Ss1UiYHXX-XXXX
03-26 09:48:23.522: I/<test>(19925): GCMIntentService
03-26 09:39:20.670: I/<test>(19761): on Error INVALID_SENDER
Run Code Online (Sandbox Code Playgroud)
在onCreate里面:
GCMRegistrar.checkDevice(this);
GCMRegistrar.checkManifest(this);
final String regId = GCMRegistrar.getRegistrationId(this);
if (regId.equals("")) {
Log.i("<test>", "registering");
GCMRegistrar.register(this, "2194354949XX");
} else {
Log.i("<test>", "Already registered: " + regId);
}
Run Code Online (Sandbox Code Playgroud)
广播接收器:
public class GCMBroadcastReceiver extends com.google.android.gcm.GCMBroadcastReceiver{
@Override
protected String getGCMIntentServiceClassName(Context context){
return "be.XXX.XXX.system.GCMIntentService";
}
}
Run Code Online (Sandbox Code Playgroud)
GCMIntentService:
public class GCMIntentService extends GCMBaseIntentService {
@Override
protected void onError(Context arg0, String errorId) {
Log.i("<test>","on Error " …Run Code Online (Sandbox Code Playgroud) 为了实现向上导航,我想回到历史堆栈上的特定活动.如果堆栈上的活动是由不同的类实现的,它就像这样工作(假设我在堆栈上有活动A,B和C,并希望返回活动A:
protected void onUpPressed() {
Intent intent = new Intent(this, A.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
| Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
finish();
}
Run Code Online (Sandbox Code Playgroud)
Android将弹出堆栈中的活动,直到intent指定的活动是最重要的(在这种情况下由A类实现的活动).
但是,我的应用程序在同一个类实现的堆栈上有几个活动.那是因为它们显示相同类型的数据但是针对不同的对象.它们的启动意图既指定了实现活动的类,又指定了要显示的对象(在extras包中或在data属性中).
现在我正在寻找代码再次从历史堆栈中弹出几个活动,直到匹配活动为最顶层.如果我扩展上面的代码并另外设置extras bundle或data属性,它就不起作用.Android总是匹配指定类实现的第一个活动,并且回溯得不够远.附加包和数据属性将被忽略.
protected void onUpPressed() {
Intent intent = new Intent(this, A.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
| Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.setData(Uri.parse("myapp:" + rootId));
startActivity(intent);
finish();
}
Run Code Online (Sandbox Code Playgroud)
那么我怎样才能回到特定的活动?Android比较哪些意图字段以确定它是否找到了所需的活动?
我正在使用Parse和Facebook开发我的第一个Android应用程序,所以我对它很陌生.
我正在尝试检索用户的好友列表,Request.newMyFriendsRequest()但在使用真实用户进行测试时,它会给我一个空列表.
据我所知,只有Graph API v2.0这个请求才会返回同时使用该应用程序的人的朋友.
出于这个目的,我创建了一个假的Fb配置文件,我在Facebook上与我的真实个人资料成为朋友,安装了我的应用程序,ParseUser使用ParseFacebookUtils.link两个配置文件注册并与Facebook链接,但请求返回一个空的朋友列表.
我在Facebook的App仪表板中创建了几个测试用户,并模拟了他们之间的几个友谊.我在我的应用程序(注册parseUser,链接ParseFacebookUtils.link)中使用其中两个进行了相同的过程,并且列表users.size() 按预期返回2个朋友.
为什么它不适用于我的实际配置文件和假配置文件(这与任何其他实际配置文件一样)?
这是我链接配置文件的方式:
List<String> permissions = new ArrayList<String>();
permissions.add("public_profile");
permissions.add("user_friends");
ParseFacebookUtils.link(currentUser, permissions, MainActivity.this, new SaveCallback() {
@Override
public void done(ParseException ex) {
if (ParseFacebookUtils.isLinked(currentUser)) {
Log.d(TAG, "Woohoo, user logged in with Facebook!");
Toast.makeText(getApplicationContext(), "Facebook succesfully linked", Toast.LENGTH_LONG).show();
}
if (ex != null) {
Log.d (TAG, ex.getLocalizedMessage() + "\n + Exception Code: " + ex.getCode());
}
}); …Run Code Online (Sandbox Code Playgroud) 我正在将文档访问框架与我的云存储访问应用程序集成.使用此文档,我可以访问该文件并检索它(我只是使用Gmail应用程序的附加功能来检查).
我现在正试图找到如何使用相同的方法保存文件(通过应用程序直接将文件保存到云存储),我做了以下更改:
对于getRoots调用,
row.add(Root.COLUMN_FLAGS, Root.FLAG_SUPPORTS_CREATE);
Run Code Online (Sandbox Code Playgroud)
我也覆盖了这个createDocument方法.
我没有看到有关如何执行此操作的示例代码或文档的方法.我也看到像"照片"应用程序这样的应用程序有"共享"按钮使用不同的方法(日志显示miniShareActivity),我的应用程序没有显示在那里(看起来它使用不同的文件共享机制)
我正在寻找有关的信息
如何使用SAF存储文件(任何样本文件都很棒或指向文档).我假设它将允许用户使用选择器界面导航到文件夹并存储文件.
如何让应用程序显示在"Minishare活动"应用程序列表中以将文件导入应用程序(看起来它不提供选择器界面但我仍然希望提供支持以便将文件保存到默认位置)
我疯了!我已经搜索并尝试了所有内容(谷歌和stackoverflow)但似乎没有任何帮助.
我正试图在Github(http://github.com/slidenerd/materialtest)上使用Gradle 2.2 打开(试图导入)一个slidenerd项目到Android Studio 1.2.1.1,但我得到的是这个恼人的错误!
Gradle'ProjectName'项目刷新失败
错误:已经看过Doctype
你能帮我理解我能解决什么问题吗?
这是我的Gradle控制台日志:
执行任务:[:]
按需配置是一项孵化功能.下载https://jcenter.bintray.com/com/android/tools/lint/lint/24.0.1/lint-24.0.1.pom
[致命错误] lint-24.0.1.pom:3:10:Doctypegiàpresente(已经看过).
FAILURE:构建因异常而失败.
出了什么问题:配置根项目'MehdiApp'时出现问题.
无法解析配置':classpath'的所有依赖项.无法解析com.android.tools.lint:lint:24.0.1.要求:: MehdiApp:unspecified> com.android.tools.build:gradle:1.0.1无法解析POM https://jcenter.bintray.com/com/android/tools/lint/lint/24.0.1/lint -24.0.1.pomDoctypegiàpresente .
尝试:使用--stacktrace选项运行以获取堆栈跟踪.使用--info或--debug选项运行以获取更多日志输出.
建筑失败
总时间:5.331秒
我最近遇到了一个非常奇怪的删除通知问题.这是场景:
我有一个编排,它发送一个消息给单向发送端口配置了发送通知=已发送(顺便说一下发送端口使用FTP适配器,但我认为适配器是什么并不重要).
当存在消息传递错误时,业务流程会捕获错误(因此意味着传递通知机制按预期工作),这会执行一些日志记录,然后以编程方式终止(终止形状).消息传递实例仍然存在,并且可以暂停和恢复.
解决导致消息传递错误的问题后,我恢复了挂起的消息传递实例.
此时我收到2个非常可疑的消息传递实例:ACK和消息传递实例的路由失败仍然有效(但什么都不做......).我确信路由失败实例是与活动消息传递实例相关的传递通知,因为它们具有相同的CorrelationToken.还有一个细节:如果我终止活动实例,它将被挂起(不可恢复),并且错误消息表明实例已完成而不消耗其所有消息!
最后但并非最不重要的是,我只在某些环境中遇到此问题...
更新:似乎问题出现在运行BizTalk 2006 R2 SP1的BizTalk框上.它从未出现在运行没有SP1的BizTalk 2006 R2的盒子上.我会尽快确认这一点
更新2:我在上次更新时看起来是对的:安装SP1 CU1后出现问题...所以下一步:我将尝试查找以下CU之一是否可以解决问题.