0

我在一项活动中有两个列表视图。我为每个设置了适配器。

这就是我所拥有的:

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

我把登录放在里面。它正在显示所选项目,但不会进入下一个活动。我在这里想念什么?

4

1 回答 1

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:  
于 2013-03-10T20:34:06.390 回答