Android 如何向表布局中的行添加clicklistener
我想做一个有两行的表格布局 在这两行中都有一个标签和一个文本字段,当我按第一行或第二行时,提示对话框将打开,并输入它将在所选行的文本字段上设置的任何值Android 如何向表布局中的行添加clicklistener,android,onclicklistener,android-tablelayout,tablerow,Android,Onclicklistener,Android Tablelayout,Tablerow,我想做一个有两行的表格布局 在这两行中都有一个标签和一个文本字段,当我按第一行或第二行时,提示对话框将打开,并输入它将在所选行的文本字段上设置的任何值 请用示例指导我如何在行上创建单击侦听器,以及如何在选中行时调用对话框。只需为每个TableRow元素指定一个唯一的id并定义一个onClick 方法: <TableRow android:id="@+id/one" android:onClick="rowClick"> 然后调用下面的方法 public void s
请用示例指导我如何在行上创建单击侦听器,以及如何在选中行时调用对话框。只需为每个TableRow元素指定一个唯一的id并定义一个
onClick
方法:
<TableRow
android:id="@+id/one"
android:onClick="rowClick">
然后调用下面的方法
public void show_dialog() {
final Dialog dialog = new Dialog(getApplicationContext());
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.getWindow();
dialog.setContentView(R.layout.yourlayout);
dialog.setTitle("yor title");
dialog.setCancelable(false);
final Button btnOkDialog = (Button) dialog.findViewById(R.id.ResetOkBtn);
btnOkDialog.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
}
});
try {
dialog.show();
} catch (Exception e) {
e.printStackTrace();
}
}
首先,必须在xml文件中为TableRow指定一个id
<TableRow
android:id="@+id/row1"
...
>
现在,在java文件中找到id为的tablerow并添加onClickListener
TableRow row1 = findViewById(R.id.row1);
d.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
现在打开一个对话框,阅读
只是猜测而已。
使编辑文本可单击。它可能是您真正想要的您应该将行设置为可单击,将其子项设置为不可单击。如果它仍然不起作用,请提供一些代码,以便我们可以看到哪里出了问题
TableRow row1 = findViewById(R.id.row2);
row1.setOnClickListener(new OnClickListener()
{
public void onClick(View v) {
// TODO Auto-generated method stub
// do any thing
}
});
// Method 2 ********************
TableRow row1 = findViewById(R.id.row2);
row1.setonClickListner(this);
public void onClicl(View v)
{
switch (v.getId())
{
case R.id.row1:
break;
}
}
TableRow row1 = findViewById(R.id.row1);
d.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
TableRow row1 = findViewById(R.id.row2);
row1.setOnClickListener(new OnClickListener()
{
public void onClick(View v) {
// TODO Auto-generated method stub
// do any thing
}
});
// Method 2 ********************
TableRow row1 = findViewById(R.id.row2);
row1.setonClickListner(this);
public void onClicl(View v)
{
switch (v.getId())
{
case R.id.row1:
break;
}
}
//if we want to applay listener on dynamic tablerow then use this
//sure that perfect
TablRowe tr = new TableRow(this);
tr.setClickable(true);
tr.setId(100);// if in loop then add 1 counter with 100 like (100+counter) at end count++ it
tr.setOnClickListener(this);
@Override
public void onClick(View v)
{
switch (v.getId())
{
case 100:
Toast.makeText(getApplicationContext(), "100", Toast.LENGTH_SHORT).show();
break;
case 101:
Toast.makeText(getApplicationContext(), "101", Toast.LENGTH_SHORT).show();
break;
}