ListView에 대한 컨텍스트 메뉴를 만들려고하는데 작동하지 않습니다. 항목을 클릭하면 아무 일도 일어나지 않습니다. 내 목록보기 여전히 작동하지 :(ContextMenu가 작동하지 않습니다.
어떤 아이디어를 등록한? fragment.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textViewLblSearchScreen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|left"
android:layout_marginLeft="25dp"
android:layout_marginTop="25dp"
android:text="@string/lblSearchScreen" />
<Button
android:id="@+id/buttonSearchUsers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|right"
android:layout_marginRight="25dp"
android:background="@drawable/bt_gradient"
android:text="@string/btnSearchUsers" />
<ListView
android:id="@android:id/list"
android:layout_gravity="bottom"
android:layout_width="match_parent"
android:layout_height="820dp" >
</ListView>
</FrameLayout>
item_row.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="horizontal" >
<ImageView
android:id="@+id/imageProfileThumbnail"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:layout_weight="1"
android:contentDescription="@string/select_photo" />
<LinearLayout
android:layout_width="250dp"
android:layout_height="30dp"
android:orientation="vertical" >
<TextView
android:id="@+id/textViewUsername"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:textSize="12sp">
</TextView>
<TextView
android:id="@+id/textViewGender"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:textSize="12sp">
</TextView>
</LinearLayout>
</LinearLayout>
Fragment.java
public class SearchFragment extends ListFragment implements LoaderManager.LoaderCallbacks<List<ResultSearchUser>> {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View layout = super.onCreateView(inflater, container,
savedInstanceState);
ListView lv = (ListView) layout.findViewById(android.R.id.list);
ViewGroup parent = (ViewGroup) lv.getParent();
int lvIndex = parent.indexOfChild(lv);
parent.removeViewAt(lvIndex);
FrameLayout mLinearLayout = (FrameLayout) inflater.inflate(
R.layout.search_fragment, container, false);
registerForContextMenu(lv);
parent.addView(mLinearLayout, lvIndex, lv.getLayoutParams());
final User user = new UserService(getActivity()).getUser();
return layout;
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle(R.string.ctxMenuResultSearch);
menu.add(Menu.NONE, v.getId(), 1, R.string.ctxMenuAddFriend);
menu.add(Menu.NONE, v.getId(), 0, R.string.ctxMenuSendMessage);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case 0:
System.out.println("oi");
return true;
default:
return super.onContextItemSelected(item);
}
}
}
감사합니다. 사전에.
그리고 어디서'ContextMenu'를 구현 했습니까? – Sajmon
내 조각 내에서 onCreateContextMenu 및 onContextItemSelected를 구현했습니다. – placplacboom