相关疑难解决方法(0)

ListView中的Focusable EditText

到目前为止,我已经花了大约6个小时的时间,除了路障之外什么都没打.一般的前提是a中有一些行ListView(无论是由适配器生成,还是作为标题视图添加)包含一个EditText小部件和一个Button.我想要做的就是能够使用jogball /箭头,将选择器导航到正常的单个项目,但是当我到达特定行时 - 即使我必须明确地识别行 - 它具有可聚焦孩子,我希望那个孩子采取焦点而不是用选择器指示位置.

我已经尝试了很多可能性,到目前为止还没有运气.

布局:

<ListView
    android:id="@android:id/list" 
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent"
    />
Run Code Online (Sandbox Code Playgroud)

标题视图:

EditText view = new EditText(this);
listView.addHeaderView(view, null, true);
Run Code Online (Sandbox Code Playgroud)

假设适配器中还有其他项目,使用箭头键将按预期在列表中上/下移动选择; 但是当到达标题行时,它也会与选择器一起显示,并且无法专注于EditText使用jogball.注意:点击它EditText 会将焦点集中在那一点,但是它依赖于触摸屏,这不是必需的.

ListView在这方面显然有两种模式:
1 setItemsCanFocus(true).:从不显示选择器,但EditText使用箭头时可以获得焦点.焦点搜索算法难以预测,并且没有选择哪个项目的视觉反馈(在任何行上:具有可聚焦儿童或不具有可聚焦儿童),这两者都可以给用户带来意想不到的体验.
2 setItemsCanFocus(false).:选择器始终以非触摸模式绘制,并且EditText永远无法获得焦点 - 即使您点击它也是如此.

更糟糕的是,调用editTextView.requestFocus()返回true,但事实上并没有给EditText带来焦点.

我想象的基本上是1和2的混合,而不是列表设置,如果所有项目都是可聚焦的,我想为列表中的单个项目设置可聚焦性,以便选择器从选择无缝转换不可聚焦项目的整行,以及遍历包含可聚焦子项的项目的焦点树.

任何接受者?

android android-layout android-listview android-edittext

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

ExpandableListView中的EditTexts

嗨,我正在尝试创建一个显示ExpandableListView的活动,如图所示.

当您单击该组时,它会展开并显示带有textview和editext的LinearLayout.

右键知道我的问题是,当在一个的EditText点击它并不会关注我必须以使其获得焦点,并显示键盘上两次挖掘,然后当我输入文字我最初看到什么当我正在键入时,然后当我隐藏键盘时,EditText会更新我输入的文本

我已经尝试添加机器人:descendantFocusability ="afterDescendants"到expandableListVie布局,但行为是一样的.

任何的想法??或任何其他方式我可以实现这种布局??

带EditText的可扩展ListView

layout android expandablelistview android-edittext

4
推荐指数
1
解决办法
6451
查看次数

无法在ExpandableListView子项中键入EditText

我正在使用expandableList,并且每个孩子都有其edittext输入一个数字......当按下孩子时,edittext显示.如果不是,则edittext保持不可见..但是当我点击edittext时,键盘显示数字(因为我设置类型输入:数字)仅1秒.之后它转向普通键盘.即使它支持普通键盘,仍然,我不能在编辑文本上键入...这是我的代码

 public View getChildView(int groupPosition, int childPosition,
            boolean isLastChild, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        final String childText = (String) getChild(groupPosition, childPosition);
        if (convertView == null) {
            LayoutInflater inflater = (LayoutInflater) this.context
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView = inflater.inflate(
                    R.layout.konsumsi_user_expand_listchild, null);
        }
        final TextView listChild = (TextView) convertView
                .findViewById(R.id.lblListItemKonsumsi);
        listChild.setText(childText);
        final EditText kolomTakaran = (EditText) convertView
                .findViewById(R.id.kolomTakaran);
        listChild.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                kolomTakaran.setVisibility(View.VISIBLE);

                if (childText == "kol") {
                    takaran = …
Run Code Online (Sandbox Code Playgroud)

android types expandablelistview android-edittext

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