【问题标题】:ExpandableListView with an EditText带有 EditText 的 ExpandableListView
【发布时间】:2012-04-22 08:51:54
【问题描述】:

我有一个 ExpandableListView,其中每个 parentView 都有一个 EditText(和一个 textview)。当我将 EditText 添加到布局时,它不再让我单击或展开 ExpandableListView,所有焦点都转到 EditText。有没有办法让 EditText 和 ExpandableListView 本身都可以点击?我希望能够单击expandableListView 来展开列表,并且EditText 能够输入文本。

谢谢

编辑:添加了我的组视图的代码

    public View getGroupView(int groupPosition, boolean isExpanded,
                             View convertView, ViewGroup parent) {

        if (convertView == null) {
            LayoutInflater inflater =  (LayoutInflater) myContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView = inflater.inflate(R.layout.group_row, null);
        }

        TextView playerName = (TextView) convertView.findViewById(R.id.playerName);
        playerName.setText(groupElements[groupPosition]);
        final EditText holeScore = (EditText) convertView.findViewById(R.id.score);
        holeScore.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(scoreCard.this, "On CLick", Toast.LENGTH_SHORT).show();
                holeScore.setFocusable(true);
            }
        });
        return convertView;
    } 

【问题讨论】:

    标签: android android-edittext expandablelistview


    【解决方案1】:

    问题是因为 EditText 的默认焦点。由于默认情况下它们能够获得焦点,这将使您的父视图不集中。因此,您要做的就是通过使用来删除 EditText 的焦点功能,

    andorid:focusable="false".
    

    同样,如果您的父级中有任何按钮,将 focusable false 设置为它也会有所帮助。这是使父视图被点击的唯一方法。

    【讨论】:

    • 这让我可以扩展我的列表,但是现在当我点击 EditText 时,软键盘不会出现...我该如何解决这个问题?
    • 您可以为您的编辑文本使用点击监听器,并在其中将焦点设置为 true,这将帮助您获得软键盘。
    • 我添加了一个 onClickListener,并出现了 toast 消息,所以它被调用了,但是键盘仍然没有出现.. 我猜我必须将软键盘设置为特殊状态,但不确定是哪一个...
    • 你解决了吗?我也面临同样的问题。如果你有任何解决方案,请告诉我。
    • 任何人都有解决方案
    猜你喜欢
    • 1970-01-01
    • 2014-08-30
    • 1970-01-01
    • 1970-01-01
    • 2012-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多