Android listView选择多个项目

Android listView选择多个项目,android,listview,android-fragments,Android,Listview,Android Fragments,我有一个从导航栏上找到的碎片。此ListView包含4个元素,我想选择多个元素,并重定向到另一个活动。 我应该为所有这些选择制定活动,像if-else-if语句一样,还是有更简单的方法?新活动将包含关于每个类别的数据。 这是我的片段 public class Caffes extends Fragment { // TODO: Rename parameter arguments, choose names that match // the fragment initialization pa

我有一个从导航栏上找到的碎片。此ListView包含4个元素,我想选择多个元素,并重定向到另一个活动。 我应该为所有这些选择制定活动,像if-else-if语句一样,还是有更简单的方法?新活动将包含关于每个类别的数据。 这是我的片段

public class Caffes extends Fragment {
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
final  String[] items=new String[]{"Urban Style","Unic concept","Small and cosy","Coffe to go"};

// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;

private OnFragmentInteractionListener mListener;

public Caffes() {
    // Required empty public constructor
}

// TODO: Rename and change types and number of parameters
public static Caffes newInstance(String param1, String param2) {
    Caffes fragment = new Caffes();
    Bundle args = new Bundle();
    args.putString(ARG_PARAM1, param1);
    args.putString(ARG_PARAM2, param2);
    fragment.setArguments(args);
    return fragment;
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (getArguments() != null) {
        mParam1 = getArguments().getString(ARG_PARAM1);
        mParam2 = getArguments().getString(ARG_PARAM2);
    }
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view=inflater.inflate(R.layout.fcaffes,container,false);
    ListView list=(ListView)view.findViewById(R.id.listView1);
    ArrayAdapter<String> adapter=new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,items);
    list.setAdapter(adapter);
    list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {   //arg2-position,
          if(arg2==1) {
              Intent intent = new Intent(this, Liked.class);
              intent.putExtra("position", arg2);
              startActivity(intent);


          }
            Toast.makeText(getActivity().getApplicationContext(), "Yea!!! click called", Toast.LENGTH_SHORT).show();
        }
    });


    return view;}
公共类Caffes扩展片段{
//TODO:重命名参数参数,选择匹配的名称
//片段初始化参数,例如ARG_ITEM_NUMBER
私有静态最终字符串ARG_PARAM1=“PARAM1”;
私有静态最终字符串ARG_PARAM2=“PARAM2”;
最终字符串[]项=新字符串[]{“城市风格”、“Unic概念”、“小巧舒适”、“咖啡带走”};
//TODO:重命名和更改参数类型
私有字符串mParam1;
私有字符串mParam2;
私有OnFragmentInteractionListener mListener;
公共咖啡馆(){
//必需的空公共构造函数
}
//TODO:重命名和更改参数的类型和数量
公共静态Caffes newInstance(字符串param1,字符串param2){
Caffes片段=新的Caffes();
Bundle args=新Bundle();
args.putString(ARG_PARAM1,PARAM1);
args.putString(ARG_PARAM2,PARAM2);
fragment.setArguments(args);
返回片段;
}
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
如果(getArguments()!=null){
mParam1=getArguments().getString(ARG_PARAM1);
mParam2=getArguments().getString(ARG_PARAM2);
}
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图=充气机。充气(右布局。FCAFFS,容器,假);
ListView list=(ListView)view.findViewById(R.id.listView1);
ArrayAdapter=newArrayAdapter(getActivity(),android.R.layout.simple\u list\u item\u 1,items);
list.setAdapter(适配器);
list.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView arg0,视图arg1,内部arg2,长arg3){//arg2位置,
如果(arg2==1){
Intent Intent=新Intent(这个,Liked.class);
意图。额外(“位置”,arg2);
星触觉(意向);
}
Toast.makeText(getActivity().getApplicationContext(),“Yea!!!点击调用”,Toast.LENGTH\u SHORT.show();
}
});
返回视图;}

我将创建一个方法来创建一个带有意图的新活动,并在意图中放入您要添加的变量。然后,如果有,我将在每个方法中调用该方法

不使用if-else,您可以使用开关功能

希望能有帮助