简体   繁体   English

长按时如何更改列表视图上的图像按钮

[英]How to change image button on list view when on long click

For example when i press longclick on one item on listview , its actual button will turn to delete button. 例如,当我在列表视图上长按一个项目时,其实际按钮将变为删除按钮。 I try like next_sign.setBackgroundResource(R.drawable.delete); 我尝试像next_sign.setBackgroundResource(R.drawable.delete); but, it force close. 但是,它强制关闭。

lv.setOnItemLongClickListener(new OnItemLongClickListener() {

            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View view,
                    int position, long id) {
                //next_sign.setBackgroundResource(R.drawable.delete);
                return true;
            }
        });
12-28 13:44:34.251: E/AndroidRuntime(9108): FATAL EXCEPTION: main
12-28 13:44:34.251: E/AndroidRuntime(9108): java.lang.NullPointerException
12-28 13:44:34.251: E/AndroidRuntime(9108):     at com.mycos.cycleborg.PreviousActivity$3.onItemLongClick(MenuListActivity.java:129)

you have to declare two buttons of your first item and delete button at same position in your layout make visibility of your original button to 您必须声明第一项的两个按钮,然后在布局中的同一位置删除按钮,以使原始按钮可见

android:visibility="visible" 

and make visibility of delete button to gone in layout using 并使用以下选项使可见性的删除按钮进入布局

android:visibility="gone" 

in programming 在编程中

lv.setOnItemLongClickListener(new OnItemLongClickListener() {

            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View view,
                    int position, long id) {
              Original_Button.setVisibility(View.Gone);
               delete_Button.setVisibility(View.Visible); 
                return true;
            }
        });
public boolean onItemLongClick(AdapterView<?> arg0, View view, int arg2, long arg3) {
   Button mButton = (Button)view.findViewById(R.id.button);
   mButton.setVisibility(View.Visible); 
   return true;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM