2

我在我的Android應用程序中有一個帶有片段和列表視圖的滑動菜單。我想爲此片段添加項目單擊偵聽器。 下面是我用碎片的代碼:在滑動菜單片段中添加一個onitemclick列表視圖列表視圖

import android.app.Fragment; 
import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 

public class LeftMenuFragment extends Fragment { 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    // Inflate the layout for this fragment 
    return inflater.inflate(R.layout.leftmenu, container, false); 
    } 
} 

這是菜單的代碼佈局:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="#2C323F" > 

<TableLayout 
    android:id="@+id/tableLayout1" 
    android:layout_width="match_parent" 
    android:layout_height="50dp" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginLeft="0dp" 
    android:background="@drawable/blue_bg"> 
</TableLayout> 

<ListView 
    android:id="@+id/listView1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/searchView1" 
    android:layout_centerHorizontal="true" 
    android:entries="@array/menu_array"> 
</ListView> 

這裏menu_array是一個字符串資源。我想爲Fragment中的列表視圖添加onitem click listner。如何做到這點對我來說很複雜。

預先感謝您!

回答

4

你可以在你的onCreateView試試這個:

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    // Inflate the layout for this fragment 
    View view = inflater.inflate(R.layout.leftmenu, container, false); 
    ListView list = (ListView) view.findViewById(R.id. listView1); 
    list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position,long id) { 
     // do things with the clicked item 
    } 
    }); 
    return view; 
    } 
} 

或者,你可以保持你的列表的引用並在片段的onActivityCreated設置OnItemClickListener,如果onItemClick方法需要任何東西,從您的活動正常工作。

我希望這有助於;)

+0

你的回答是正是我需要的,但有一點我想知道,,我怎麼能在onItemClick開始新的活動? 非常感謝你! – Grant

+2

你可以創建一個新的'Intent i = new Intent(getApplicationContext(),MyNextActivity.class')然後'startActivity(i);' –

+1

Ok在這裏找到它:) http://stackoverflow.com/questions/15048118/android -start-activity-within-fragment – Grant