android在单击其中一个按钮时禁用两个按钮
我有两个按钮,addBtn和declineBtn。单击其中一个按钮时,我想禁用这两个按钮。我一直在 尝试调用虚拟方法“void” 空对象引用上的android.widget.Button.setEnabled(布尔)“” 问题是,如果单击“拒绝”按钮,则onClicklistener v.findViewById无法找到“添加”按钮。任何帮助都将不胜感激android在单击其中一个按钮时禁用两个按钮,android,Android,我有两个按钮,addBtn和declineBtn。单击其中一个按钮时,我想禁用这两个按钮。我一直在 尝试调用虚拟方法“void” 空对象引用上的android.widget.Button.setEnabled(布尔)“” 问题是,如果单击“拒绝”按钮,则onClicklistener v.findViewById无法找到“添加”按钮。任何帮助都将不胜感激 public View getView(int position, View convertView, ViewGroup parent) {
public View getView(int position, View convertView, ViewGroup parent) {
View rowView = convertView;
if(rowView == null) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
rowView = inflater.inflate(R.layout.friend_request_item, parent, false);
}
final FriendRequest request = getItem(position);
TextView userId = (TextView) rowView.findViewById(R.id.textView1);
userId.setText(request.getRequesterId());
Button acceptBtn = (Button) rowView.findViewById(R.id.button1);
acceptBtn.setTag(request.getRequesterId());
Button declineBtn = (Button) rowView.findViewById(R.id.button2);
declineBtn.setTag(request.getRequesterId());
acceptBtn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Button AddBtn = (Button) v.findViewById(R.id.addbutton1);
AddBtn.setEnabled(false);
Button declineBtn = (Button) v.findViewById(R.id.devlinebutton2);
declineBtn.setEnabled(false);
}
});
declineBtn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Button AddBtn = (Button) v.findViewById(R.id.addbutton1);
AddBtn.setEnabled(false);
v.setEnabled(false);
Button declineBtn = (Button) v.findViewById(R.id.declinebutton2);
declineBtn.setEnabled(false);
}
});
return rowView;
}
您不应该使用
v
调用findViewById()
。例如,只需编写(Button)findViewById(R.id.button1)
。我认为按钮在行视图中,因此我认为您应该使用行视图.findViewById()
而不是v.findViewById()