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在每个视图中都有视图和文本的对话框。我想在按下特定视图时执行操作。在这个对话框中,我必须按视图中的文本。希望我解释正确您的答案很好,但我没有解释我想要的内容。我在问题上加了一幅画。谢谢你的帮助你的回答很好,但是我没有解释我想要什么。我在问题上加了一幅画。谢谢你的帮助