2013-03-05 39 views
1

我有eache认为我可以点击对话框里面和文字。 我希望所有的视图都是可点击的,只有文字。如何使对话框中的整个视图可点击?

代码:

 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(); 
    } 
}); 

}

正如我所说的这个代码正常工作,如果在视图中的文本用户按下,但空观点显然不会作出回应。谢谢 !

if user press on red spot it activate the enter , if green than duplicate and so on

如果红色斑点用户按下它激活的输入,如果绿色不是重复等等...当前状态为u必须按上的字,如果u按上的彩色斑点它什么都不做

+0

很抱歉,但我没有得到你 – Pragnani 2013-03-05 12:41:16

+0

进行布局可点击@Jesus Dimrix – duggu 2013-03-05 12:41:28

+0

我有看法和文本的每个视图内对话框。我想在按特定视图时执行操作。在这个对话框中,我必须按下视图中的文字。希望我的“M解释正确 – 2013-03-05 12:46:15

回答

1

如果我不是错误,你需要这使得布局点击

尝试这样的事情 您可以在其上添加一个OnClickListener:

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

应该是工作;)

0

创建dialog_edit_tables

放过一个id说android:[email protected]+id\testing在XML。

现在写这篇

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

希望这将有助于。

+0

你的答案是伟大的,但我missexplained我想要什么。我添加图片的问题。 感谢您的帮助 – 2013-03-05 13:21:18

0

您还没有显示的XML布局,但设置了可点击文本视图FILL_PARENT的宽度应该工作,还要确保你的父母的布局也有设置宽度为FILL_PARENT。

onClickListener不是基于它基于实际组件的文本,因此它看起来好像将layout_width属性设置为wrap_content,所以组件仅仅是文本的长度,因此只有文本是,可点击。希望这是有道理的。

0

如果我没看错的不是您正在使用listviewtableview显示文本。
你可以做一件事。
让TextView的layout_widthfill_parent
这样,你就可以得到您所标记的地方联系。
希望这会有所帮助。

相关问题