在此记录android中遇到的一些问题。

1、Android GridView组件如何去除四周的空隙
在GridView组件中设置android:listSelector=”@null”

2,EditText通过输入发进行“确定” 处理。
android:imeOptions=”actionDone” ,软键盘下方变成“完成”
android:imeOptions=”actionSend” 软键盘下方变成“发送”

在onEditAction方法中actionId就对应我们设置的imeOptions。系统默认的actionId有:EditorInfo.IME_NULL、EditorInfo.IME_ACTION_SEND、EditorInfo.IME_ACTION_DONE等。这样我们就可以根据不同的EditText来实现不同的软键盘右下角功能键。

1.etNumber = (EditText)findViewById(R.id.number_content);
2. etDefault.setOnEditorActionListener(this);

.@Override  2.    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {  3.        switch(actionId){  4.        case EditorInfo.IME_NULL:  5.            System.out.println("null for default_content: " + v.getText() );  6.            break;  7.        case EditorInfo.IME_ACTION_SEND:  8.            System.out.println("action send for email_content: "  + v.getText());  9.            break;  10.        case EditorInfo.IME_ACTION_DONE:  11.            System.out.println("action done for number_content: "  + v.getText());  12.            break;  13.        }  14.        //Toast.makeText(this, v.getText()+"--" + actionId, Toast.LENGTH_LONG).show();  15.        return true;  16.    }  

3,Listview焦点冲突问题
该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。
属性的值有三种:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点

通常我们用到的是第三种,即在Item布局的根布局加上android:descendantFocusability=”blocksDescendants”的属性就好了

4,getView() 有两种布局
http://www.2cto.com/kf/201501/371528.html

5,TextView 设置多监听 (用于 回复 @XXX : )

private void initTextView(){            SpannableString ss = new SpannableString("text4: Click here to dial the phone.");            ss.setSpan(new StyleSpan(Typeface.BOLD), 0, 6,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);              TextView t4 = (TextView) findViewById(R.id.tvt_span);              t4.setMovementMethod(LinkMovementMethod.getInstance());      t4.setOnTouchListener(new View.OnTouchListener() {                                  @Override               public boolean onTouch(View v, MotionEvent event) {                            // TODO Auto-generated method stub                           System.out.println("OnTouchListener");             return false;              });  }

6,ListView 特殊的几个属性

  1. android:stackFromBottom=”true” 你做好的列表就会显示你列表的最下面

  2. android:transcriptMode=”alwaysScroll” 可以将Android平台的控件(支持ScrollBar)自动滑动到最底部.

  3. cacheColorHint属性,很多人希望能够改变一下它的背景,使他能够符合整体的UI设计,改变背景背很简单只需要准备一张图片然后指定属性 android:background=”@drawable/bg”,不过不要高兴地太早,当你这么做以后,发现背景是变了,但是当你拖动,或者点击list空白位置的时候发现ListItem都变成黑色的了,破坏了整体效果。
    如果你只是换背景的颜色的话,可以直接指定android:cacheColorHint为你所要的颜色,如果你是用图片做背景的话,那也只要将android:cacheColorHint指定为透明(#00000000)就可以了

  4. android:divider=”@drawable/list_driver” 其中 @drawable/list_driver 是一个图片资源
    android:divider=”@drawable/@null” 不想显示分割线

  5. android:fadingEdge=”none” 上边和下边有黑色的阴影,设置后没有阴影了~

  6. android:scrollbars=”none” 隐藏滚动条 与setVerticalScrollBarEnabled(true);的效果是一样的,
    android:fadeScrollbars=”true” 配置ListView布局的时候,设置这个属性为true就可以实现滚动条的自动隐藏和显示。

7.GridView点击事件无效的时候
可能是内部的Item占据了点击焦点, 注意Button,将Button换成TextView

8.EditText动态用java代码设置只能输入数字。
edt.setKeyListener(new DigitsKeyListener(false, true));

9.PopupWindow使用报错
android.view.WindowManager$BadTokenException: Unable to add window –
token null is not valid; is your activity running?

最后终于发现是PopupWindow组件的使用问题,如果你直接在Activity创建的方法中初始化,则会有此错误

因此总结:PopupWindow必须在某个事件中显示或者是开启一个新线程去调用,不能直在oncreate方法中显示一个PopupWindow,否则永远会有以上错误

我是把他放在点击事件中,就好了。

10. java.lang.UnsupportedOperationException: Can’t convert to dimension: type=0x12

这个问题定位很明显是 布局的原因。
但是纠结了半天都没有发现到底是什么原因。
在网上搜的时候发现,这个问题的原因是多种多样的。
我遇到的问题是:

在 LinearLayout 已经定义了 android:orientation=”horizontal” 之后,
仍然在子布局里使用了 android:layout_marginLeft=”@+id/item_order_allprice”。
因为LinearLayout 横向布局本身就是按顺序的,不需要相对,去掉这行就没有问题了

更多相关文章

  1. 《Android开发从零开始》——13.Table Layout学习
  2. Android(安卓)SDK 中文 (56) ―― ViewFlipper
  3. Android中设计具有背景图的按钮—ImageButton的焦点及事件处理
  4. Android知识点——更改软键盘回车键
  5. Android控件GridView的使用
  6. android:windowSoftInputMode属性使用
  7. android:scaleType属性
  8. Android之EditText 属性汇总
  9. android 相对布局中的 控件布局

随机推荐

  1. Android Display System
  2. android关闭或开启移动网络数据(关闭后,设
  3. Handler简要介绍
  4. android的volley框架
  5. android 编译过程及错误处理
  6. android dialog用法总结
  7. Android中Textview显示带html文本
  8. Android核心基础(十)
  9. Android 四大组件之 Activity(1)--生命周
  10. Android单击显示contextMenu