package
cn.terry;
import
java.util.ArrayList;
import
java.util.HashMap;
import
android.app.Activity;
import
android.os.Bundle;
import
android.view.ContextMenu;
import
android.view.MenuItem;
import
android.view.View;
import
android.view.ContextMenu.ContextMenuInfo;
import
android.view.View.OnCreateContextMenuListener;
import
android.widget.
*
;
import
android.widget.AdapterView.OnItemClickListener;
public
class
testListViewAcitivity
extends
Activity {
private
ListView myListView;
/**
Called when the activity is first created.
*/
@Override
public
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.main);
myListView
=
(ListView)findViewById(R.id.ListView01);
ArrayList
<
HashMap
<
String, Object
>>
listitem
=
new
ArrayList
<
HashMap
<
String,Object
>>
();
for
(
int
i
=
0
;i
<
10
;i
++
)
{
HashMap
<
String, Object
>
map
=
new
HashMap
<
String, Object
>
();
map.put(
"
ItemTitle
"
,
"
文章
"
+
i);
map.put(
"
ItemText
"
,
"
Android 小項目
"
+
i);
listitem.add(map);
}
SimpleAdapter listitemAdapter
=
new
SimpleAdapter(
this
,
//
上下文
listitem,
//
數據
R.layout.listview_style,
//
listItem的xml實現
new
String[]{
"
ItemTitle
"
,
"
ItemText
"
},
//
從map的批定Key
new
int
[]{R.id.topTextView,R.id.bottomTextView}
//
到要實現的控件上
);
myListView.setAdapter(listitemAdapter);
myListView.setOnItemClickListener(
new
OnItemClickListener() {
@Override
public
void
onItemClick(AdapterView
<?>
arg0, View arg1,
int
arg2,
long
arg3) {
//
TODO Auto-generated method stub
RelativeLayout lr
=
(RelativeLayout)arg1;
TextView mText
=
(TextView)lr.getChildAt(
1
);
Toast.makeText(testListViewAcitivity.
this
,
"
你點擊了第
"
+
arg2
+
"
項的
"
+
mText.getText().toString(),
1000
).show();
}
});
myListView.setOnCreateContextMenuListener(
new
OnCreateContextMenuListener() {
@Override
public
void
onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
//
TODO Auto-generated method stub
ListView lr
=
(ListView)v;
RelativeLayout myte
=
(RelativeLayout)lr.getChildAt(
0
);
TextView dd
=
(TextView)myte.getChildAt(
1
);
menu.setHeaderIcon(R.drawable.icon);
menu.setHeaderTitle(dd.getText().toString());
menu.add(
1
,
0
,
0
,
"
高亮
"
);
menu.add(
0
,
1
,
0
,
"
置頂
"
);
}
});
}
@Override
public
boolean
onContextItemSelected(MenuItem item) {
//
TODO Auto-generated method stub
String Temp
=
""
;
switch
(item.getItemId()) {
case
0
:
Temp
=
"
高亮
"
;
break
;
case
1
:
Temp
=
"
置頂
"
;
break
;
default
:
break
;
}
Toast.makeText(
this
, Temp
+
"
處理
"
,
1000
).show();
return
super
.onContextItemSelected(item);
}
}