2012-05-03 8 views
0

ユーザーがListActivityの項目をlongclickしたときにメニューを表示しようとしていますが、わかりません。 Unfourtenatlyリストは、私がひどく悩まされて、私はまだ学んでいます。onListItemClickを使用してListActivityのメニューを開く

パッケージandroid.GUI;

public class Shifts extends ListActivity implements OnClickListener, 
    SimpleGestureListener { 


private Typeface tf = Entry.tf, tf2 = Entry.tf2; 
public static int count = 1; 
int dbHourTime = 0; 
private SimpleGestureFilter detector; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    setContentView(R.layout.shifts); 
    detector = new SimpleGestureFilter(this, this); 



    DBAdapter DB = new DBAdapter(this); 
    DB.open(); 
    Cursor cursor = DB.getAllShifts(); 
    startManagingCursor(cursor); 
    cursor.moveToLast(); 
    count = cursor.getPosition(); 
    int g = count; 

    cursor.moveToNext(); 

    String[] columns = new String[] { DB.KEY_DATE, DB.KEY_HOURS, 
      DB.KEY_DAY, DB.KEY_ROWID, DB.KEY_START, DB.KEY_END }; 
    int[] to = new int[] { R.id.dateDisp, R.id.shiftDisp, R.id.day, 
      R.id.rawId, R.id.start, R.id.finish }; 

    ListView ls = getListView(); 




    TextView SF = (TextView) findViewById(R.id.total); 
    SF.setTypeface(tf); 

    TextView sum = (TextView)findViewById(R.id.sum); 
    sum.setTypeface(tf); 


    SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, 
      R.layout.list_entry, cursor, columns, to); 
    this.setListAdapter(mAdapter); 


} 

@Override 
protected void onListItemClick(ListView ls, View v, int position, long id) { 
    // TODO Auto-generated method stub 
    super.onListItemClick(ls, v, position, id); 

    CharSequence text = "Clicked"; 

    final int duration = Toast.LENGTH_SHORT; 

    Toast toast = Toast.makeText(this, text, duration); 
    toast.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER, 0, 0); 

    toast.show(); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.view_shifts_menu, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle item selection 
    switch (item.getItemId()) { 
    case R.id.back: 

     finish(); 
     return true; 
    case R.id.clear: 
     DBAdapter DB = new DBAdapter(this); 
     DB.open(); 
     DB.deleteAll(); 
     startActivity(getIntent()); 
     finish(); 

     return true; 
    default: 
     return super.onOptionsItemSelected(item); 
    } 
} 

@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 

} 

@Override 
public void onSwipe(int direction) { 

    Intent intent = new Intent(); 

    switch (direction) { 

    case SimpleGestureFilter.SWIPE_RIGHT: 

     intent.setClass(this, Main.class); 
     startActivity(intent); 
     break; 
    case SimpleGestureFilter.SWIPE_LEFT: 

     intent.setClass(this, Entry.class); 
     startActivity(intent); 
     break; 
    case SimpleGestureFilter.SWIPE_DOWN: 

     break; 
    case SimpleGestureFilter.SWIPE_UP: 

     break; 
    } 



} 

@Override 
public boolean dispatchTouchEvent(MotionEvent me) { 
    this.detector.onTouchEvent(me); 
    return super.dispatchTouchEvent(me); 
} 

@Override 
public void onDoubleTap() { 
    // TODO Auto-generated method stub 

} 

@Override 
public void onListItemClick(ListActivity l, View v, int position, long id) { 
    // TODO Auto-generated method stub 

} 

}これはあなたのonCreate()の外であることが必要

+0

どちらが81ですか? – Sam

+0

メソッドの解読。そこに番号を追加します。 – Yosi199

答えて

2

@Override // the error is with this method decleration 
protected void onListItemClick(ListView l, View v, int position, long id) { 

    super.onListItemClick(ls, v, position, id); 

} 
+0

私のための簡単なものと愚かなものだった神!!!良い目のおかげで、ありがとう! – Yosi199

+0

@Sam nice catch –

1

あなたはのonCreateメソッド内onListItemClickメソッドを作成しています。 onCreateメソッドの外に移動してください:)

+0

ありがとう、それは本当に問題でした! – Yosi199

関連する問題