2012-02-18 134 views
0

我有一個非常簡單的問題,它可以解決相當簡單,但由於某種原因,我無法弄清楚它爲什麼不工作。返回列表查看點擊位置到另一個活動

我有一個由6個Listviews組成的視圖,當用戶點擊一個細節位置時,我將返回該位置。 此位置將用於從數據庫的整行中獲取項目。

當傳遞位置到另一個活動時,詳細的活動,我得到的位置是一個我初始化,這是0

這裏是我的代碼。

1日活動

該項目點擊收聽:

detailsLi.setOnItemClickListener(new OnItemClickListener() { 

      public void onItemClick(AdapterView<?> aV, View v, int arg2, 
        long arg3) { 
       // TODO Auto-generated method stub 
       /* 
       * Intent openDetails = new Intent(
       * "com.DCWebMakers.Vairon.APPOINTMENTDETAILS"); 
       * startActivity(openDetails); 
       */ 
       positionView = detailsLi.getSelectedItemPosition(); 
       Dialog showPosition = new Dialog(MyAppointment.this); 
       showPosition.setTitle("Position is:" + positionView); 
      } 
     }); 

折回位置的方法:

public Integer getPosition() { 
    return positionView; 
} 

第二活性

設置行:

AppointmentInfo details = new AppointmentInfo(this); 
     details.open(); 
     String name = details.getName(new MyAppointment().getPosition()); 
     details.close(); 

那麼,返回位置方法是否被正確使用?

謝謝。

回答

0
new MyAppointment().getPosition() 

一個新實例,將返回默認值。你應該傳遞的位置:

在您的列表項點擊:

Intent intent = new Intent("com.example.newactivity"); 
intent.putExtra("list_position", arg2); 
startActivity(intent); 
+0

謝謝,我只需要做getIntent()。getExtras()。getInt(\t \t \t「position」) – Vairon 2012-02-18 15:17:26

0

arg2會給你的項目位置列表中..

以獲得該項目使用aV.getItemAtPosition(arg2).toString()

+0

但我不想要的項目名稱在那個位置,因爲所有在列表視圖中的項目的詳細說。我想要的是被點擊的例子0,1,2的位置3.這種方式當新的活動開始並打開數據庫讀取整行信息時,它有哪一行讀取 – Vairon 2012-02-18 14:31:42

相關問題