0

1つのアクティビティに2つのリストビューがあります。それぞれにアダプターを設定しました。

これは私が持っているものです:

  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を入れました。選択したアイテムが表示されていますが、次のアクティビティには移動しません。ここで何が欠けていますか?

4

1 に答える 1

0

textview = @android:id/text1 のみがあります

IDが一致しないため、switchステートメントは実行されません...

switch(v.getId()){
case R.id.lvSpecificTest:  // Does not equal android.R.id.text1

添加

私のメインレイアウトには2つのリストビューがあり、1つはlvSpecificTestという名前ですか?

2 番目のパラメータvは行を参照します。つまりR.layout.custom_list_item_1、ListView ではありません。最初のパラメーターparentは、ListView を参照します。試す:

switch(parent.getId()){
case R.id.lvSpecificTest:  
于 2013-03-10T20:34:06.390 に答える