Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检索时获取位置值0_Java_Android_Function_Listview - Fatal编程技术网

Java 检索时获取位置值0

Java 检索时获取位置值0,java,android,function,listview,Java,Android,Function,Listview,您好,我正在通过Actionmodecallback函数传递类Topratedfragment.java中的上下文、Actionmode、list和position的值 在检索函数中的值时,我得到了所有的值,除了position的值,当我试图在类的全局变量中保存它的值时。我很抱歉,如果我的问题是愚蠢的,我对传递java没有太多的想法 我的两门课都是 Topratedfragment类 public class TopRatedFragment extends Fragment { Intent

您好,我正在通过Actionmodecallback函数传递类Topratedfragment.java中的上下文、Actionmode、list和position的值 在检索函数中的值时,我得到了所有的值,除了position的值,当我试图在类的全局变量中保存它的值时。我很抱歉,如果我的问题是愚蠢的,我对传递java没有太多的想法

我的两门课都是

Topratedfragment类

public class TopRatedFragment extends Fragment {

Intent i;
TextView studentid;
Button Bite;
DBHelper mydb;
Cursor mcursor;
ListView list;
// Context context;
Simpleadapter adapter;
int nr = 0;
ArrayList<String> array_list;
ActionMode mActionMode;
String valstudentid;
int _position;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.fragment_top_rated,
            container, false);
    DBHelper mydb = new DBHelper(getActivity().getApplicationContext());

    array_list = mydb.getAllCotacts();

    list = (ListView) rootView.findViewById(R.id.listview1);

    adapter = new Simpleadapter(getActivity(), array_list);

    list.setAdapter(adapter);

    list.clearChoices();
    for (int i = 0; i < list.getCount(); i++)
        list.setItemChecked(i, false);
    list.post(new Runnable() {
        @Override
        public void run() {
            list.setChoiceMode(ListView.CHOICE_MODE_NONE);
        }
    });

    list.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1,
                int position, long arg3) {

            if (mActionMode == null) {

                int id_To_Search = position + 1;
                Bundle dataBundle = new Bundle();
                dataBundle.putInt("id", id_To_Search);
                Intent intent = new Intent(
                        getActivity().getApplicationContext(),
                        info.meritech.project.databasefiles.DisplayContact.class);
                intent.putExtras(dataBundle);
                startActivity(intent);
            } else {

                onListItemCheck(position);
            }

        }
    });

    list.setOnItemLongClickListener(new OnItemLongClickListener() {

        @Override
        public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
                int position, long id) {
            onListItemCheck(position);
            return true;

        }
    });

    return rootView;
}

private void onListItemCheck(int position) {
    // TODO Auto-generated method stub

    _position = position;
    adapter.toggleSelection(position);
    boolean hasCheckedItems = adapter.getSelectedCount() > 0;

    if (hasCheckedItems && mActionMode == null)
        // there are some selected items, start the actionMode
        mActionMode = getActivity().startActionMode(
                new ActionModeCallback(getActivity()
                        .getApplicationContext(), array_list, list,
                        mActionMode, position));
    else if (!hasCheckedItems && mActionMode != null)
        // there no selected items, finish the actionMode
        mActionMode.finish();

    if (mActionMode != null)
        mActionMode.setTitle(String.valueOf(adapter.getSelectedCount())
                + " selected");

}

public Context getActivity(Context context) {

    context = getActivity().getApplicationContext();
    return context;

}

}

你的适配器是定制的吗?然后给我看看你的适配器。。
public class ActionModeCallback implements ActionMode.Callback {

Context _context;
ActionMode _mActionMode;
ArrayList<String> _array_list;
ListView _list;
int _position_list;

public ActionModeCallback(Context context, ArrayList<String> array_list,
        ListView list, ActionMode mActionMode, int position) {
    super();
    this._context = context;
    this._mActionMode = mActionMode;
    this._array_list = array_list;
    this._list = list;
     this._position_list=position;
}

@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
    // inflate contextual menu
    mode.getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {

    return false;
}

@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
    // retrieve selected items and print them out

    switch (item.getItemId()) {
    case R.id.add:

        int id_To_Search = +1;
        Bundle dataBundle = new Bundle();
        dataBundle.putInt("id", id_To_Search);
        Intent intent = new Intent(_context, Edit.class);
        intent.putExtras(dataBundle);
        _context.startActivity(intent);

        Toast.makeText(_context, "new class", Toast.LENGTH_SHORT).show();

        // close action mode
        mode.finish();

        break;
    }
    return false;

}

@Override
public void onDestroyActionMode(ActionMode mode) {
    // remove selection
    Simpleadapter adapter = new Simpleadapter(_context, _array_list);
    adapter.removeSelection();
    _mActionMode = null;
    _list.clearChoices();
    for (int i = 0; i < _list.getCount(); i++)
        _list.setItemChecked(i, false);
    _list.post(new Runnable() {
        @Override
        public void run() {
            _list.setChoiceMode(ListView.CHOICE_MODE_NONE);
        }
    });
}

}
 this._position_list=position;