我在一个活动中有两个列表视图。我为每个设置了适配器。
这就是我所拥有的:
lv.setAdapter(new ArrayAdapter<String>(this,
R.layout.custom_list_item_1, classesBradycardia));
specialist.setAdapter(new ArrayAdapter<String>(this,
R.layout.custom_list_item_1, specialistBradycardia));
lv.setOnItemClickListener(this);
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
// TODO Auto-generated method stub
String selectedVal = //((TextView) v).getText().toString();
lv.getItemAtPosition(position).toString();
Log.d(selectedVal, "it's in " + selectedVal);
final int result = 1;
Bundle extras = new Bundle();
switch(v.getId()){
case R.id.lvSpecificTest:
if(selectedVal.equals("Electrocardiogram")){
Intent ecg = new Intent(this, ViewTest.class);
extras.putString("viewtest", "Electrocardiogram");
ecg.putExtras(extras);
startActivityForResult(ecg, result);
我把Log放进去了。它显示了所选项目,但它没有进入下一个活动。我在这里缺少什么?
答案 0 :(得分:0)
它只有textview = @android:id / text1
您的switch语句永远不会运行,因为ID不匹配...
switch(v.getId()){
case R.id.lvSpecificTest: // Does not equal android.R.id.text1
添加
在我的主要布局中,我有2个列表视图,一个名为lvSpecificTest?
第二个参数v
指的是行,即R.layout.custom_list_item_1
,而不是ListView。第一个参数parent
引用ListView。尝试:
switch(parent.getId()){
case R.id.lvSpecificTest: