この質問では、ReubenScrattonの新しい回答のコードを使用しました。コードに貼り付けると、、、、 および(heightDiffの後)の下addOnGlobalLayoutListener(new OnGlobalLayoutListener()
に赤い波線が表示されます。何が悪いのか理解するのを手伝ってください。onGlobalLayout()
activityRootView
ありがとうこれが.javaページの私のコードです
public class Details extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_details);
Intent intent = getIntent();
}
final View activityRootView = findViewById(R.id.details);
activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
int heightDiff = activityRootView.getRootView().getHeight() - activityRootView.getHeight();
if (heightDiff > 100) { // if more than 100 pixels, its probably a keyboard...
ImageButton backButton = (ImageButton)findViewById(R.id.back);
backButton.setImageResource(R.drawable.hide_keyboard);
}
}
});