使用多列ListView帮助ContextMenu

时间:2011-03-13 19:05:05

标签: java android

我有一个列表视图,显示具有以下布局的电子邮件:

email@address.com                            category  //This could be work etc
First line of the emails subject!

使用以下XML:

<LinearLayout 
 ........
 android:orientation="vertical">     
<LinearLayout       
 ........    
 android:orientation="horizontal">       
     <TextView android:id="@+id/FROM_CELL"
         android:layout_width="250dip"
         android:layout_height="wrap_content" android:textColor="#AFC7C7" android:textSize="9sp"/> 
     <TextView android:id="@+id/CATEGORY_CELL"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content" android:textColor="#34282C" android:textSize="9sp" android:gravity="right" />   
</LinearLayout>  
 <TextView android:id="@+id/SUBJECT_CELL"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content" android:textColor="#FFFFFF" android:textSize="10sp"/>

这一切都运行正常,但是当我放置ContextMenu以便我可以允许长时间按某些电子邮件时,我如何检索电子邮件地址以便为其分配类别?

在数据库方面,我的方法需要2个字符串,1个是分配类别的电子邮件地址,另一个是调用该类别的字符串。

我想知道如何在onContextItemSelected()方法中检索电子邮件,以便我可以使用它来分配类别。

很抱歉,如果这是一个不好的解释,我已尽力了:)

谢谢, 里斯

1 个答案:

答案 0 :(得分:0)

嗯,感觉就像是我破解了获取信息的方式,但似乎有效:p

AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
Object id = list.getItemAtPosition((int) info.id);
String row = id.toString();
String address = row.substring(row.indexOf("From=")+5, row.length()-1);