سلام.
منظورتون استفاده از switch case است ؟
بهتر است کمی بیشتر توضیح بدهید.
اگر کدها رو ذکر کنید بهتر است.
معمولا در ListView ، بر اساس position که شماره متناظر با item از ListView را به ما می دهد، محتوای متفاوت برای item های مختلف را نمایش می دهیم. اگر کلیک بر روی کل item مورد نیاز باشد، کد مشابه کد زیر را می نویسیم :
کد پیاچپی:
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, final View view,
int position, long id) {
Intent i = new Intent(getApplicationContext(), SecondActivity.class);
number_of_keys = String.valueOf(position+1);
i.putExtra("key_number", number_of_keys);
startActivity(i);
}
});
که در آن، lv همان ListView مورد نظرمان می باشد.
ولی اگر اشاره بر روی یکی از عناصر موجود در خود item مورد نظرمان باشد (نه کل item)، باید یک Adapter برای ListView تعریف کرده و بعد روش setOnItemClickListener را در کدهای Adapter ذکر کنیم (روش setOnItemClickListener را برای عنصر مورد نظرمان که در ساختار item تعریف شده، می نویسیم). یک کد رو براتون مثال می زنم :
کد پیاچپی:
private class MyAdapter extends ArrayAdapter<String>{
public MyAdapter(Context context, int resource, int textViewResourceId,
String[] strings) {
super(context, resource, textViewResourceId, strings);
// TODO Auto-generated constructor stub
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row = inflater.inflate(R.layout.list_item, parent, false);
String stringName = "string_key_" + String.valueOf(position+1);
int string_res_ID = getResources().getIdentifier(stringName,"string",getPackageName());
String my_string = getResources().getString(string_res_ID);
TextView tv = (TextView) row.findViewById(R.id.textView1);
tv.setText(my_string);
String imageName = "key_" + String.valueOf(position+1);
int image_res_ID = getResources().getIdentifier(imageName,"drawable",getPackageName());
ImageView iv = (ImageView) row.findViewById(R.id.imageView1);
iv.setImageResource(image_res_ID);
return row;
}
}
هر دو کدی که ذکر کردم، از
کلید شماره 843 بودند. توصیه می کنم آن را بخوانید.
اگر مورد دیگری مد نظرتان بوده، آن را ذکر کنید.