我只是想知道是否有更好的解决方案来解析字符串中的字符中的数字(假设我们知道索引n处的字符是数字).
String element = "el5";
String s;
s = ""+element.charAt(2);
int x = Integer.parseInt(s);
//result: x = 5
Run Code Online (Sandbox Code Playgroud)
(没用说,这只是一个例子)
我发现,在Mail App中打开电子邮件附件时,可以使用"打开方式"功能激活一些应用程序,如"GoodReader"或"Docs to Go".如何添加此功能以使我的应用程序与某种文档(如pdf)相关联?
我们的想法是让一个简单的方法让邮件附件直接在应用程序中使用.
编辑:我找到了这个文档并认为它符合我的问题:
文件支持
应用程序现在可以向系统注册它支持的文件类型,并在需要打开给定类型的文件时接收通知.它通过CFBundleDocumentTypes在其Info.plist文件中包含密钥来实现此目的.注册一个或多个文件类型的应用程序也可能在某个时间点打开这些类型的文件.它通过application:didFinishLaunchingWithOptions:在其应用程序委托中实现该
方法并UIApplicationLaunchOptionsURLKey在提供的字典的键中查找文件来实现此目的.补充打开已知类型文件的能力是
UIDocumentInteractionControllerclass在UIKit框架中添加.此类提供基于用户的
用于管理应用程序不知道如何打开的文件的交互模型.文档交互控制器提供用于预览文件内容或在另一个应用程序中打开文件的选项.文档交互控制器对于可以从网络下载文件的电子邮件应用程序或应用程序特别有用.
我有一个带CheckBoxCell列的cellTable.我要做的是在celltable外面有一组按钮,让用户自动检查/取消选中一组不同的元素(例如,检查所有/取消选中所有元素,但我想要更复杂的规则).
我不明白的是如何访问元素(我想通过行/列值???)并获取/设置值.
任何人都可以帮我弄清楚如何解决它?
我正在尝试测试PopupWindow类.我创建了这个方法来显示弹出窗口:
public void showPopup(){
LayoutInflater layoutInflater = (LayoutInflater)getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);
View popupView = layoutInflater.inflate(R.layout.popup, null);
final PopupWindow popup = new PopupWindow(popupView,
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
popup.setOutsideTouchable(true);
popup.setTouchable(true);
popup.setTouchInterceptor(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Log.d("POPUP", event.toString());
if(event.getAction() == MotionEvent.ACTION_OUTSIDE){
popup.dismiss();
return true;
}
return true;
}
});
popup.showAtLocation(findViewById(R.id.main), Gravity.BOTTOM|Gravity.CENTER_HORIZONTAL, 0, 200);
}
Run Code Online (Sandbox Code Playgroud)
弹出窗口正确显示,看起来Touch Interceptor似乎根本不起作用:我没有得到任何日志信息,当然如果按下它之外弹出窗口也不会消失.
我是否需要在弹出窗口或托管它的Activity中设置一些其他属性?
从AS 0.8更新到Android Studio 1.0 RC4时,我遇到了这个臭名昭着的错误.
我在这里看到了一个问题:无法在com.android.build.gradle.internal.api.ApplicationVariantImpl上找到属性'outputFile' 并尝试调整代码但没有成功.
所以我尝试通过注释applicationVariants不要在任何地方声明这个outputFile但仍然得到错误(?)
然后,我使用File-> Invalidate Caches/Restart中的选项使缓存无效,但再次无效.
最后我删除了项目文件夹中的.gradle目录,但在尝试同步时仍然出错.
有没有人有关于如何解决它的其他建议?
我想知道是否有可能从其任何元素开始迭代所有数组元素而无需对数组进行预排序.
为了更清楚,假设我有5个元素的数组:
0 1 2 3 4
我想从他们的索引之一开始读取所有元素,如:
2 3 4 0 1
要么
4 0 1 2 3
我们的想法是以这种方式保持元素顺序:
n,n + 1,...,end,start,...,n-1
一种解决方案可能是(伪代码):
int startElement;
int value;
for(startElement;startElement<array.count;startElement++){
value = array[startElement];
}
for(int n = 0; n<startElement;n++){
value = array[n];
}
Run Code Online (Sandbox Code Playgroud)
但我不知道是否有更好的.有什么建议?