我在這裏搜索了很多帖子,但解決方案與我的代碼看起來一樣,並且不起作用。此代碼位於片段中的方法內。奇怪的是,我有另一個片段完全相同的代碼,它的工作原理。安卓按鈕不起作用
final Button acceptButton = (Button) getActivity().findViewById(R.id.button_accept);
acceptButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.i(LOG_TAG, "Accept");
// SOME OTHER STUFF
}
}
工作的相關代碼完全相同。它只是改變我尋找按鈕的ID。事情是它不會進入聆聽者。無論如何,我會發布它,以防有人發現它有用。
final Button acceptButton = (Button) getActivity().findViewById(R.id.button_add);
acceptButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.i(LOG_TAG, "Add");
// SOME OTHER STUFF
}
這兩個代碼都在不同的片段內。這兩個代碼都寫在被覆蓋的onOptionsItemSelected
內。除了在我遇到困難的情況下收聽者,它會進入。
我會發布onOptionItemSelected的確切代碼,在我失去了一些更加微不足道的情況下不起作用。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_delete) {
final LinearLayout deletePopup = (LinearLayout) getActivity().findViewById(R.id.delete_verification);
deletePopup.setVisibility(View.VISIBLE);
final Button acceptButton = (Button) getActivity().findViewById(R.id.button_accept);
final Button cancelButton = (Button) getActivity().findViewById(R.id.button_cancel);
Log.i(LOG_TAG, "Delete button clicked");
acceptButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.i(LOG_TAG, "Accept delete");
deletePopup.setVisibility(View.INVISIBLE);
delete(getId().intValue());
getActivity().finish();
// load();
}
});
cancelButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.i(LOG_TAG, "Cancel delete");
deletePopup.setVisibility(View.INVISIBLE);
}
});
return true;
}
return super.onOptionsItemSelected(item);
}
在此先感謝。
職位,片段代碼,其中其做工精細 –
,能不能請您發佈更多的代碼?這是一個活動與否? –