2013-01-24 2 views
1

그래서이 페이지에서 플링 기능에 대한 제스처를 구현하려고합니다. 이미 제스처를 사용했지만 어떤 이유로이 코드가 실행되지 않습니다. 나는 경고를 얻지 만, 그것을 고치는 법을 모른다. 가변 제스처는 onCreate에서 명확하게 볼 수 있지만 코드 내에서 사용되지 않는다. 도움?변수 제스처가 인식되지 않습니다.

package com.example.finisher; 

    import java.io.ByteArrayOutputStream; 
    import java.io.IOException; 
    import java.io.InputStream; 

    import android.app.Activity; 
    import android.content.Intent; 
    import android.content.res.AssetManager; 
    import android.os.Bundle; 
    import android.util.Log; 
    import android.view.GestureDetector; 
    import android.view.GestureDetector.OnGestureListener; 
    import android.view.MotionEvent; 
    import android.widget.TextView; 

    public class newclass extends Activity implements OnGestureListener{ 

private static final int SWIPE_MIN_DISTANCE = 120; 
private static final int SWIPE_THRESHOLD_VELOCITY = 200; 
private GestureDetector gesture; 

@Override 
public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    TextView textView=new TextView(this); 
    setContentView(textView); 
    gesture = new GestureDetector(this); 

    AssetManager assetManager = getAssets(); 
    InputStream inputStream =null; 
    try { 
     inputStream = assetManager.open("texts/myawesometext.txt"); 
     String text = loadTextFile(inputStream); 
     textView.setText(text); 
    } catch(IOException e){ 
     textView.setText("Couldn't Load the file."); 
    } 
    finally{ 
     if (inputStream!=null){ 
      try{ 
       inputStream.close(); 
      } catch(IOException e){ 
       textView.setText("Couldn't Close the File"); 
      } 
     } 
    } 
} 

private String loadTextFile(InputStream inputStream)throws IOException { 
    ByteArrayOutputStream bytestream=new ByteArrayOutputStream(); 
    byte[] bytes= new byte[4096]; 
    int len=0; 
    while((len= inputStream.read(bytes))>0) 
     bytestream.write(bytes, 0, len); 
    return new String(bytestream.toByteArray(),"UTF8"); 
} 

@Override 
public boolean onDown(MotionEvent arg0) { 
    // TODO Auto-generated method stub 
    return false; 
} 

@Override 
public boolean onFling(MotionEvent start, MotionEvent finish, float xv, 
     float yv) { 
    Log.v("msg","msg"); 
    //Y motion only 
    if(Math.abs(start.getRawY()-finish.getRawY())>SWIPE_MIN_DISTANCE 
      &&Math.abs(yv)>SWIPE_THRESHOLD_VELOCITY){ 
     //y motion 
     if (start.getRawY()>finish.getRawY()){ 
      //gesture down, page from top 
      Intent myIntent = new Intent(newclass.this,MainActivity.class); 
      myIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); 
      startActivity(myIntent); 
      //animation done in pairs.Bringing top view in 
      this.overridePendingTransition(R.anim.slide_bottom_in, 
      R.anim.slide_bottom_out); 
     } 
    } 
return false; 
} 

@Override 
public void onLongPress(MotionEvent arg0) { 
    // TODO Auto-generated method stub 

} 

@Override 
public boolean onScroll(MotionEvent arg0, MotionEvent arg1, float arg2, 
     float arg3) { 
    // TODO Auto-generated method stub 
    return false; 
} 

@Override 
public void onShowPress(MotionEvent arg0) { 
    // TODO Auto-generated method stub 

} 

@Override 
public boolean onSingleTapUp(MotionEvent arg0) { 
    // TODO Auto-generated method stub 
    return false; 
} 


    } 

답변

관련 문제