我的一个应用程序有一个"打开屏幕"(基本上是一个菜单),EditText后面跟着几个Buttons.问题是,我的一些用户报告说,当他们打开应用程序时,它会自动弹出屏幕键盘而不会触摸屏幕EditText.据我所知,所有这些用户都在使用HTC Hero.
这是1.5中的错误吗?我能做些什么吗?
我有一个CompositeComponent(EditText + ImageButton)当点击按钮时,将清除edittext内容.它工作正常.我的问题是为我的组件设置属性.我使用declare-styleable来设置我的组件的属性.
我成功设置了minLines,maxLines和textColor.
如何通过xml将inputtype设置为我的组件.
我的attributes.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="CET">
<attr name="MaxLines" format="integer"/>
<attr name="MinLines" format="integer"/>
<attr name="TextColor" format="color"/>
<attr name="InputType" format="integer" />
<attr name="Hint" format="string" />
</declare-styleable>
</resources>
Run Code Online (Sandbox Code Playgroud)
并在main_layout.xml中使用mycomponent:
<com.test.ui.ClearableEditText
xmlns:cet="http://schemas.android.com/apk/res/com.test.ui"
android:id="@+id/clearableEditText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
cet:MaxLines="2"
cet:MinLines="1"
cet:TextColor="#0000FF"
cet:InputType="" <---I cant set this property--------->
cet:Hint="Clearable EditText Hint">
</com.test.ui.ClearableEditText>
Run Code Online (Sandbox Code Playgroud)
普通的Edittext用法:
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="numberSigned" <--------I want to use this property--------> >
Run Code Online (Sandbox Code Playgroud)
我不能在我的attribute.xml中使用ENUM.怎么引用android:inputType="numberSigned"我的 cet:InputType?
编辑:
这就是我在ClearableEditText.java中分配属性的方法
TypedArray a = getContext().obtainStyledAttributes(attrs,R.styleable.CET,0, 0);
int minLines = a.getInt(R.styleable.CET_MinLines, 1); …Run Code Online (Sandbox Code Playgroud) 将此视为维基问题.
当我设置我的项目以支持Map V2时,已经有一个步骤来添加MAPS_RECEIVE权限.
<permission
android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE"/>
Run Code Online (Sandbox Code Playgroud)
为什么我们从应用程序本身创建和使用权限?
谷歌播放服务应用程序是否使用此权限进行交互?
这个权限不能照顾这些东西吗?
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
Run Code Online (Sandbox Code Playgroud)
我认为使用自定义权限是为了允许其他应用启动/使用我们应用的服务/资源.
我的问题与这一个人不同.我想在页面加载开始时我的进度对话框开始,在网页加载完成页面加载时结束.我的问题是进度对话框启动并永远不会dismissed.I已设置断点它表明进度对话框启动并获得驳回多次然后开始甚至后页面加载完成,不会被解雇.我的问题是为什么onPageStarted多次执行单页加载?为什么在完成页面加载后没有调用onPageFinished?
myWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
myWebView.loadUrl(url);
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(myWebView, url, favicon);
Log.d("mytag","Page Loading Started");
//myURLProgressDialog= ProgressDialog.show(WebviewExampleActivity.this, "Page Loading", "Wait for a moment...");
}
@Override
public void onPageFinished(WebView view, String url) {
Log.d("mytag","Page Loading Finished!");
super.onPageFinished(myWebView, url);
//myURLProgressDialog.dismiss();
}
});
Run Code Online (Sandbox Code Playgroud)
我自我标记的过滤日志就像这样加载单页:
10-06 10:32:49.298: DEBUG/mytag(508): Page Loading Started
10-06 10:32:49.998: DEBUG/mytag(508): Page Loading Started
10-06 10:32:50.048: DEBUG/mytag(508): Page Loading Finished!
10-06 10:32:50.048: DEBUG/mytag(508): …Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中使用SemiClosedSlidingDrawer.
快速解释:
问题:
当我创建视图时,内容部分被充气并缓存,然后部分显示.如果我对主要内容执行任何操作.它反映到滑动抽屉的内容部分.即使它是部分可见的.
我设法找到了内容未设置为GONE 的答案,因此只有接收触摸事件.
在完成所有通胀缓存后,我必须将内容设置为GONE.所以我需要知道
哪个View创建生命周期方法最后调用?或者 在哪里设置ChildView的可见性属性?
我可以在活动中引用我的slidingDrawer内容并设置为GONE它工作正常.但应该有一个正确的方法来解决这个问题.
我在mac OSX和Windows中使用KEY_STRING作为系统变量.哪个有我的密钥库的绝对路径.
〜/ .bash_profile条目将是
export KEY_STRING =~/config/release-signing.keystore
Run Code Online (Sandbox Code Playgroud)
在我的每个队友机器[Windows/OSX/Linux]中设置相同的路径.
我的Gradle脚本将访问此变量
def keystorePath = System.getenv("KEY_STRING");
println keystorePath;
Run Code Online (Sandbox Code Playgroud)
这个脚本在Windows和控制台和android工作室都可以正常工作.
我的问题特定于mac android studio.
如果我在终端运行正常工作并读取env变量.
但是当我进行gradle同步或设置运行配置[Gradle task]时,它无法解析变量.
我也向Google 报告过此问题.
这里是快速摘要:
我使用默认的相机意图来获取我的应用程序中的图像.问题是相机返回null onActivityResult().将ResultCode与RequestCode正在返回预期.
我的意图是:
private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 1224;
....
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
Run Code Online (Sandbox Code Playgroud)
OnactivityResult是:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
//use imageUri here to access the image
Uri imageuri = data.getData(); // here is getting crash
imageView.setImageFromUri(imageUri);
}
}
}
void setImageFromUri(Uri imgUri){
... TODO assign image from uri
}
Run Code Online (Sandbox Code Playgroud)
当我把Log我得到resultCode和responseCode不为null
resultCode = …Run Code Online (Sandbox Code Playgroud) 
我设法使用设计布局TableLayout.android:layout_span帮助我.
问题是我需要Column1和Column2之间的一些差距.无论哪种方式Padding / Margin
我不喜欢这个任务的程序.必须有一个简单的方法来做到这一点.
可以使用xml设置吗?
更新:我试图设置列子的填充它没有均匀地对齐列.
这是错误消息
D:\Programming\Tools\ADT_bundle\sdk\platform-tools\systrace>python systrace.py
Traceback (most recent call last):
File "systrace.py", line 315, in <module>
main()
File "systrace.py", line 64, in main
os.execv(legacy_script, sys.argv)
OSError: [Errno 2] No such file or directory
Run Code Online (Sandbox Code Playgroud)
我查看systrace.py,似乎文件系统上缺少legacy_script"systrace-legacy.py".我已经阅读了stackoverflow上的几个相关帖子,我已经将包含adb的目录放在%PATH%中.问题依然存在.我正在写问是否有办法解决这个问题.
我的问题是内部类的内部类
我的android项目中的一个SDK有一个类A,它有两个静态内部类。应用proguard后发现它们被剥离了。
public class A{
....
static class B{
...
static class D {
....
}
}
static class C{
...
}
}
Run Code Online (Sandbox Code Playgroud)
我的 proguard 看起来像这样
-keepattributes Exceptions, InnerClasses
-keep class com.xxx.A
-keep class com.xxx.A$*
Run Code Online (Sandbox Code Playgroud)
这可以防止 B、C 类受到 proguard 的影响。但D级没有运气。我-keep class com.xxx.A$**也尝试过。
我有一个ListView,Fragment我希望更新ListView从另一个返回时的数据Activity.我已经覆盖了该onResume()方法Fragment,修改了数据Adapter并调用notifyDataSetChanged()了Adpater但不知何故ListView没有更新.我怀疑我的身体有问题Adapter,但我似乎无法找到错误.
这是我的代码Adpater:
class ManualExceptionsListAdapter extends BaseAdapter {
private LayoutInflater mInflater;
private TextView mManualExceptions;
SwitchCompat mSwitch;
TextView name;
final Context context = getActivity();
final SharedPreferences mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
int a;
int ifUse = 0;
ManualExceptionsListAdapter(LayoutInflater inflater) {
mInflater = inflater;
}
@Override
public int getCount() {
return (mPermanentManualException.size()+mContactsExceptionNumber.size());
}
@Override
public Object getItem(int i) {
return null; …Run Code Online (Sandbox Code Playgroud) android android-listview android-viewholder recycler-adapter android-recyclerview
我将employeedetailxml放入名为"res\raw"的文件夹中.当我尝试通过指定文件和文件夹名称打开它时,我收到错误"找不到文件".
如何指定文件的路径?
我更希望能够传递' R.raw.employeedetailxml ' FileInputStream来指定它打开该文件.那可能吗?(我尝试过,但得到了一个错误.)
可以FileInputStream将资源ID作为参数吗?
try{
SAXParserFactory spf=SAXParserFactory.newInstance();
SAXParser sp=spf.newSAXParser();
XMLReader xr=sp.getXMLReader();
EmployeeDetailHandler empDetailHandler=new EmployeeDetailHandler();
xr.setContentHandler(empDetailHandler);
xr.parse(new InputSource(new FileInputStream("\\res\\raw\\employeedetailxml.xml")));
}
Run Code Online (Sandbox Code Playgroud) 我们可以指定什么类型K的HashMap<K,V>?它只是数字类型(int,float)还是我们可以分配用户定义的对象?