2016-04-10 16 views
0

私は、ナビゲーションバーから実行するフラグメントを持っています。このListViewには4つの要素が含まれており、複数の選択肢を作成して別のアクティビティにリダイレクトする必要があります。 これらのすべての選択肢に対してアクティビティを作成する必要がありますか?else if文が好きなのですか、それとも簡単な方法がありますか?新しい活動には、すべてのカテゴリに関するデータが含まれます。 は、ここで私はあなたが追加したい変数を置く意向を持つ新しいアクティビティを作成するためのメソッドを作成し、意図してしまう私の断片listView複数のアイテムを選択しています

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;} 

答えて

0

です。それから、もしそうなら、それぞれのメソッドを呼びます。

if elseを使用する代わりに、スイッチ機能を使用できます。

希望すると助かります

関連する問題