2014-02-11 5 views
-2

여기에 나는 안드로이드 스튜디오에안드로이드 스튜디오 : 또 다른 오류 -_-

FullscreenActivity.java이

나는 새로운 해요 활동의 된 .java 파일을 변경 ... 코드입니다. 누군가가 안드로이드 스튜디오를 배우는 저를 도움이된다면 나는 ..., 모든
감사합니다 :)

package com.killer.test; 

import com.killer.test.util.SystemUiHider; 

import android.annotation.TargetApi; 
import android.app.Activity; 
import android.os.Build; 
import android.os.Bundle; 
import android.os.Handler; 
import android.view.MotionEvent; 
import android.view.View; 
import android.app.AlertDialog; 

/** 
* An example full-screen activity that shows and hides the system UI (i.e. 
* status bar and navigation/system bar) with user interaction. 
* 
* @see SystemUiHider 
*/ 
public class FullscreenActivity extends Activity { 
/** 
* Whether or not the system UI should be auto-hidden after 
* {@link #AUTO_HIDE_DELAY_MILLIS} milliseconds. 
*/ 
Button btn = (Button) findViewById(R.id.dummy_button); 

btn.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     myFancyMethod(v); 
    } 
}); 

public void myFancyMethod(View v) { 
    AlertDialog.Builder dlgAlert = new AlertDialog.Builder(this); 

    dlgAlert.setMessage("This is an alert with no consequence"); 
    dlgAlert.setTitle("App Title"); 
    dlgAlert.setPositiveButton("Ok", 
      new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int which) { 
        //dismiss the dialog 
       } 
      }); 
    dlgAlert.setCancelable(true); 
    dlgAlert.create().show(); 
} 

private static final boolean AUTO_HIDE = true; 

/** 
* If {@link #AUTO_HIDE} is set, the number of milliseconds to wait after 
* user interaction before hiding the system UI. 
*/ 
private static final int AUTO_HIDE_DELAY_MILLIS = 3000; 

/** 
* If set, will toggle the system UI visibility upon interaction. Otherwise, 
* will show the system UI visibility upon interaction. 
*/ 
private static final boolean TOGGLE_ON_CLICK = true; 

/** 
* The flags to pass to {@link SystemUiHider#getInstance}. 
*/ 
private static final int HIDER_FLAGS = SystemUiHider.FLAG_HIDE_NAVIGATION; 

/** 
* The instance of the {@link SystemUiHider} for this activity. 
*/ 
private SystemUiHider mSystemUiHider; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.activity_fullscreen); 

    final View controlsView = findViewById(R.id.fullscreen_content_controls); 
    final View contentView = findViewById(R.id.fullscreen_content); 

    // Set up an instance of SystemUiHider to control the system UI for 
    // this activity. 
    mSystemUiHider = SystemUiHider.getInstance(this, contentView, HIDER_FLAGS); 
    mSystemUiHider.setup(); 
    mSystemUiHider 
      .setOnVisibilityChangeListener(new SystemUiHider.OnVisibilityChangeListener() { 
       // Cached values. 
       int mControlsHeight; 
       int mShortAnimTime; 

       @Override 
       @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2) 
       public void onVisibilityChange(boolean visible) { 
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) { 
         // If the ViewPropertyAnimator API is available 
         // (Honeycomb MR2 and later), use it to animate the 
         // in-layout UI controls at the bottom of the 
         // screen. 
         if (mControlsHeight == 0) { 
          mControlsHeight = controlsView.getHeight(); 
         } 
         if (mShortAnimTime == 0) { 
          mShortAnimTime = getResources().getInteger(
            android.R.integer.config_shortAnimTime); 
         } 
         controlsView.animate() 
           .translationY(visible ? 0 : mControlsHeight) 
           .setDuration(mShortAnimTime); 
        } else { 
         // If the ViewPropertyAnimator APIs aren't 
         // available, simply show or hide the in-layout UI 
         // controls. 
         controlsView.setVisibility(visible ? View.VISIBLE : View.GONE); 
        } 

        if (visible && AUTO_HIDE) { 
         // Schedule a hide(). 
         delayedHide(AUTO_HIDE_DELAY_MILLIS); 
        } 
       } 
      }); 

    // Set up the user interaction to manually show or hide the system UI. 
    contentView.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      if (TOGGLE_ON_CLICK) { 
       mSystemUiHider.toggle(); 
      } else { 
       mSystemUiHider.show(); 
      } 
     } 
    }); 

    // Upon interacting with UI controls, delay any scheduled hide() 
    // operations to prevent the jarring behavior of controls going away 
    // while interacting with the UI. 
    findViewById(R.id.dummy_button).setOnTouchListener(mDelayHideTouchListener); 
} 

@Override 
protected void onPostCreate(Bundle savedInstanceState) { 
    super.onPostCreate(savedInstanceState); 

    // Trigger the initial hide() shortly after the activity has been 
    // created, to briefly hint to the user that UI controls 
    // are available. 
    delayedHide(100); 
} 


/** 
* Touch listener to use for in-layout UI controls to delay hiding the 
* system UI. This is to prevent the jarring behavior of controls going away 
* while interacting with activity UI. 
*/ 
View.OnTouchListener mDelayHideTouchListener = new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View view, MotionEvent motionEvent) { 
     if (AUTO_HIDE) { 
      delayedHide(AUTO_HIDE_DELAY_MILLIS); 
     } 
     return false; 
    } 
}; 

Handler mHideHandler = new Handler(); 
Runnable mHideRunnable = new Runnable() { 
    @Override 
    public void run() { 
     mSystemUiHider.hide(); 
    } 
}; 

/** 
* Schedules a call to hide() in [delay] milliseconds, canceling any 
* previously scheduled calls. 
*/ 
private void delayedHide(int delayMillis) { 
    mHideHandler.removeCallbacks(mHideRunnable); 
    mHideHandler.postDelayed(mHideRunnable, delayMillis); 
} 
} 
+0

글쎄, 문제가 뭔지 정말 말하지 않았어. 적어도 스택 트레이스를 지정하지 않고는 아무도 당신을 도울 수 없을 것입니다. – ciny

+0

의미있는 제목을 사용하십시오. 또한 문제의 오류를 실제로 설명해야합니다. –

답변

1

Button btn = (Button) findViewById(R.id.dummy_button); 
// the above line should be after setContentView in onCreate 
btn.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     myFancyMethod(v); 
    } 
}); 

가에서 onCreate에 있어야 행복 할 것이다. 그래도 오류가 발생하면 스택 추적을 게시하십시오.

+0

감사합니다. ^^ 다른 프로젝트에서 도움이되었습니다. ^^ –

관련 문제