1

バックキーを押すイベントをオーバーライドし、現在のシャーロック フラグメントを以前のシャーロック フラグメントに置き換えたいと考えています。これを行う方法が見つかりませんでした。それが可能かどうかはわかりません。次の方法を使用しましたが、うまくいきませんでした。

  public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK)) {
         Toast.makeText(getActivity(),"Clicked", Toast.LENGTH_SHORT).show();
    }
    return true;
}

sherlock フラグメントの完全なコードは次のとおりです。

import android.os.Bundle;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast;

import com.actionbarsherlock.app.SherlockFragment;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
import com.actionbarsherlock.view.MenuItem;

 public class MyTasksFragment extends SherlockFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
    View view=inflater.inflate(R.layout.mytask_fragment_layout, container, false);
    setHasOptionsMenu(true);
    return view;
   }
  }

可能であれば、これを行う方法を誰か教えてください。

ありがとう!

4

2 に答える 2

0

これをやってみてください

メソッドでonCreateViewこのコードを追加します

getView().setOnKeyListener( new OnKeyListener()
{
    @Override
    public boolean onKey( View v, int keyCode, KeyEvent event )
    {
        if( keyCode == KeyEvent.KEYCODE_BACK )
        {
            Toast.makeText(getActivity(),"Clicked", Toast.LENGTH_SHORT).show();
        }
        return false;
    }
} );
于 2013-10-28T09:25:50.940 に答える