Java 如何使对话框中的整个视图可单击?

Java 如何使对话框中的整个视图可单击?,java,android,view,dialog,onclicklistener,Java,Android,View,Dialog,Onclicklistener,我可以在每个视图中单击对话框和文本。 我希望所有的视图都可以点击,而不是只点击文本 守则: final Dialog dialog = new Dialog(List_Lists.this); dialog.setContentView(R.layout.dialog_edit_tables); dialog.setTitle("Action for " + table); TextView delete = (TextView

我可以在每个视图中单击对话框和文本。 我希望所有的视图都可以点击,而不是只点击文本

守则:

        final Dialog dialog = new Dialog(List_Lists.this);
        dialog.setContentView(R.layout.dialog_edit_tables);
        dialog.setTitle("Action for " + table);


        TextView delete = (TextView) dialog
                .findViewById(R.id.tvDeleteTable);
        TextView cancel = (TextView) dialog.findViewById(R.id.tvCancel);

        OnClickListener l = new OnClickListener() {

            @Override
            public void onClick(View v) {

                dbAdapter = new DBmethods(getApplicationContext());
                switch (v.getId()) {


                case R.id.tvDeleteTable:
                    viewListsAdapter.listsV.remove(pos);
                    dbAdapter.deleteTable(table);
                    break;
                case R.id.tvCancel:
                    dialog.dismiss();
                    break;
                case R.id.bTableRenameName:

                    if(dbAdapter.checkTableNameOK(List_Lists.this  ,newName.getText().toString())){

                        viewListsAdapter.listsV.remove(pos);
                        viewListsAdapter.listsV.add(pos, newName.getText().toString().trim());
                        dbAdapter.renameTable(table , newName.getText().toString().trim());
                        renamedialog.dismiss();
                    };

                    break;

                default:
                    break;
                }
                // if button is clicked, close the custom dialog
                dialog.dismiss();
                lv.invalidateViews();
            }
        };

        delete.setOnClickListener(l);
        cancel.setOnClickListener(l);

        dialog.show();
    }
});
}

正如我所说,如果用户在视图中按文本,这段代码可以正常工作,但是空视图显然不会响应。谢谢


如果用户按红色点,则会激活回车,如果绿色点,则会激活复制,等等…当前状态是您必须按单词,如果您按彩色点,则不会执行任何操作

如果im没有错误,则需要此操作以使布局可点击

试试这样的 您可以在其上添加OnClickListener:

//onCreate
LinearLayout layout = (LinearLayout) findViewById(R.id.LinearLayout01);
layout.setOnClickListener(yourOnClickListener);

应该在工作;)

如果我没弄错,你需要这个来让布局可以点击

试试这样的 您可以在其上添加OnClickListener:

//onCreate
LinearLayout layout = (LinearLayout) findViewById(R.id.LinearLayout01);
layout.setOnClickListener(yourOnClickListener);

应该在工作;)

为您的
对话框\u编辑\u表格创建id

假设在xml中测试
android:id=@+id\testing

现在写下这个

LinearLayout yourlayout = (LinearLayout) findViewById(R.id.testing);
yourlayout.setOnClickListener(l);

希望这会有所帮助。

为您的
对话框\u编辑\u表格创建id

假设在xml中测试
android:id=@+id\testing

现在写下这个

LinearLayout yourlayout = (LinearLayout) findViewById(R.id.testing);
yourlayout.setOnClickListener(l);

希望这会有所帮助。

您还没有显示XML布局,但是将可单击文本视图的宽度设置为“填充父视图”应该会起作用,同时确保您的父视图的宽度也设置为“填充父视图”


onClickListener不是基于文本,而是基于实际组件,因此它看起来好像layout_width属性设置为wrap_content,因此该组件只有文本的长度,因此只有文本所在的位置才可单击。希望这是有意义的

您尚未显示XML布局,但将可单击文本视图的宽度设置为“填充父视图”应该可以工作,同时确保您的父布局也将宽度设置为“填充父视图”


onClickListener不是基于文本,而是基于实际组件,因此它看起来好像layout_width属性设置为wrap_content,因此该组件只有文本的长度,因此只有文本所在的位置才可单击。希望这是有意义的

如果我没有弄错,您可以使用
listview
tableview
来显示文本
您可以做一件事。
将文本视图
布局宽度
设置为
填充父对象

,这样您就可以触摸到您标记的位置。

希望这会有所帮助

如果我没有弄错,您可以使用
listview
tableview
来显示文本
您可以做一件事。
将文本视图
布局宽度
设置为
填充父对象

,这样您就可以触摸到您标记的位置。

希望这会有所帮助

很抱歉,我没有让您在每个视图中使用视图和文本使布局可点击@Jesus Dimrixi具有对话框。我想在按下spcific view时执行操作。在这个对话框中,我必须按下视图中的文本。希望我解释正确抱歉,我没有让你让布局可点击@Jesus Dimrixi在每个视图中都有视图和文本的对话框。我想在按下特定视图时执行操作。在这个对话框中,我必须按视图中的文本。希望我解释正确您的答案很好,但我没有解释我想要的内容。我在问题上加了一幅画。谢谢你的帮助你的回答很好,但是我没有解释我想要什么。我在问题上加了一幅画。谢谢你的帮助