2011-12-28 93 views
0

例如,当我按下listview上的一个项目的longclick时,它的实际按钮将变成删除按钮。我尝试像next_sign.setBackgroundResource(R.drawable.delete);但它强制关闭。如何更改列表视图上的图像按钮,当长按一下

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) 
+0

是您'ImageButton'存在于每个列表项..? – 2011-12-28 07:03:28

+1

是的,出现在每一个列表项中,顺便我在这里得到了答案.. tysm对你有帮助:) 我已经得到了答案,非常感谢你... 查看subview = view.findViewById(R。 id.next_sign); subview.setBackgroundResource(R.drawable.delete); – 2011-12-28 07:08:16

+0

嗯,那很好.. – 2011-12-28 07:11:09

回答

0

必须声明你的第一个项目的两个按钮,并在原来的按键布局 化妆知名度同一位置删除按钮

android:visibility="visible" 

,并删除按钮的知名度去布局使用

android:visibility="gone" 

在编程

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; 
      } 
     }); 
+0

感谢您的回答,我还没有尝试过 – 2011-12-28 07:23:43

-1
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; 
}