【问题标题】:Adding a button to Expandable ListView [duplicate]将按钮添加到可扩展列表视图 [重复]
【发布时间】:2014-05-02 14:38:01
【问题描述】:

我正在尝试在expandable ListView 的组文本视图右侧添加一个删除按钮。

按钮出现,但列表不再展开。这是我用来添加按钮的代码。 我的list_group.xml 的一部分在我的列表中持有父文本视图的那个

<TextView
    android:id="@+id/lblListHeader"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingLeft="?android:attr/expandableListPreferredItemPaddingLeft"
    android:textSize="17dp"
    android:textColor="#FD0987" />
<Button
    android:id="@+id/delButton" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:background="@drawable/button_gplus_gb"
    android:text ="@string/Delete"
   />
</RelativeLayout> 

附件是将按钮添加到 xml 之前和之后的图像。在第一个中,列表在添加按钮后在第二个中展开。

【问题讨论】:

  • 您不需要按钮来展开可展开列表视图,然后整个父视图都是“可点击的”,从而展开任何子视图。为什么您想要使用按钮?你有按钮的 onclick 方法吗?
  • 我想使用一个按钮从数据库中删除父元素中的那个元素。这是一个删除按钮。 @LokiSinclair

标签: java android android-layout listview button


【解决方案1】:

检查此问题并回答:button in expandable listview android

据此,按钮应该是不可聚焦的。

【讨论】:

    【解决方案2】:

    您仍然需要让用户确认删除。所以,直接使用 Alert Dialog,

     Button btn = (Button) findViewById(R.id.btn1);
    
            btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
    
    
                    AlertDialog.Builder builder = new AlertDialog.Builder(
                        MyApp.this);
                    builder.setTitle("Delete?");
                   builder.setMessage("Are you sure?");
                    builder.setNegativeButton("No",
                            new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog,
                                    int id) {
    
    
    
                            }
                            });
                    builder.setPositiveButton("Yes",
                            new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog,
                                        int which) {    
    
    
    //do something to delete file.
    
                                    }
                .               });
    
                    builder.show();
                }
            });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-31
      • 1970-01-01
      • 1970-01-01
      • 2016-04-05
      • 2012-04-10
      • 2014-01-24
      • 2014-01-06
      • 1970-01-01
      相关资源
      最近更新 更多