小编Mah*_*ran的帖子

Android屏幕键盘自动弹出

我的一个应用程序有一个"打开屏幕"(基本上是一个菜单),EditText后面跟着几个Buttons.问题是,我的一些用户报告说,当他们打开应用程序时,它会自动弹出屏幕键盘而不会触摸屏幕EditText.据我所知,所有这些用户都在使用HTC Hero.

这是1.5中的错误吗?我能做些什么吗?

android android-softkeyboard

137
推荐指数
5
解决办法
11万
查看次数

使用declare styleable设置自定义组件输入类型

我有一个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)

android custom-component attr

35
推荐指数
2
解决办法
3万
查看次数

Android Map V2 - 为什么选择MAPS_RECEIVE权限

将此视为维基问题.

当我设置我的项目以支持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)

我认为使用自定义权限是为了允许其他应用启动/使用我们应用的服务/资源.

android android-maps-v2

32
推荐指数
3
解决办法
2万
查看次数

onPageStart调用多次,onPageFinished没有调用单页

我的问题与这一个人不同.我想在页面加载开始时我的进度对话框开始,在网页加载完成页面加载时结束.我的问题是进度对话框启动并永远不会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)

android android-webview webviewclient

10
推荐指数
2
解决办法
1万
查看次数

Android View生命周期

我在我的应用程序中使用SemiClosedSlidingDrawer.

快速解释:

  1. 滑动抽屉有手柄内容部分
  2. 内容部分在创建视图时部分打开

问题:

当我创建视图时,内容部分被充气并缓存,然后部分显示.如果我对主要内容执行任何操作.它反映到滑动抽屉的内容部分.即使它是部分可见的.

我设法找到了内容未设置为GONE 的答案,因此只有接收触摸事件.

在完成所有通胀缓存后,我必须将内容设置为GONE.所以我需要知道

哪个View创建生命周期方法最后调用?或者 在哪里设置ChildView的可见性属性?

我可以在活动中引用我的slidingDrawer内容并设置为GONE它工作正常.但应该有一个正确的方法来解决这个问题.

lifecycle android view android-inflate

7
推荐指数
1
解决办法
4190
查看次数

OSX And​​roid studio的gradle无法读取.bash_profile环境变量

我在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 报告过此问题.

这里是快速摘要:

  • 在〜/ .bash_profile中设置环境变量
  • 在build.gradle中的任何位置读取它

    def keystorePath = System.getenv("KEY_STRING"); println keystorePath;

  • 在配置中添加gradle任务. 向android studio添加自定义gradle任务

  • 它不是在阅读环境变量.

android-studio android-gradle-plugin osx-yosemite

6
推荐指数
1
解决办法
3722
查看次数

Android Inbuild(ActionImageCapture)意图返回null intent.无法传递结果{who = null}

我使用默认的相机意图来获取我的应用程序中的图像.问题是相机返回null onActivityResult().将ResultCodeRequestCode正在返回预期.

我的意图是:

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)

android nullpointerexception android-intent android-camera

5
推荐指数
1
解决办法
2182
查看次数

如何在xml中设置android表格布局列填充

我布局的线框

我设法使用设计布局TableLayout.android:layout_span帮助我.

问题是我需要Column1和Column2之间的一些差距.无论哪种方式Padding / Margin

我不喜欢这个任务的程序.必须有一个简单的方法来做到这一点.

可以使用xml设置吗?

更新:我试图设置列子的填充它没有均匀地对齐列.

android android-tablelayout

5
推荐指数
1
解决办法
2万
查看次数

Android Systrace没有这样的文件或目录

这是错误消息

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%中.问题依然存在.我正在写问是否有办法解决这个问题.

python android systrace

5
推荐指数
2
解决办法
3432
查看次数

Android proguard,保留内部类的内部类

家长问题:Android proguard,保留内部类

我的问题是内部类的内部类

我的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$**也尝试过。

java android android-proguard

5
推荐指数
1
解决办法
3811
查看次数

如何正确实现ListView的适配器

我有一个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

3
推荐指数
1
解决办法
2035
查看次数

在Android中指定XML文件的文件夹路径

我将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)

android fileinputstream

2
推荐指数
2
解决办法
4822
查看次数

我们可以在HashMap <K,V>中为K分配哪些类型?

我们可以指定什么类型KHashMap<K,V>?它只是数字类型(int,float)还是我们可以分配用户定义的对象?

java hashmap

0
推荐指数
2
解决办法
462
查看次数