0

单击列表项时,我想打开一个自定义对话框。如何实现onClickListener我的代码:

public class Fragment4 extends Fragment{
    private View parentLayout;
    private ListView listView;
    private ArrayList<String> myList;
    private AboutUsAdapter adapter; //custom adapter

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
        parentLayout = inflater.inflate(R.layout.fragment_4, null);
        listView = (ListView)parentLayout.findViewById(R.id.listView4);
        myList = new ArrayList<String>();

        myList.add("Item1");
        myList.add("Item2");
        myList.add("Item2");
        adapter = new AboutUsAdapter(getActivity().getBaseContext(), myList);
        listView.setAdapter(adapter);
        return parentLayout;
            }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
          listView.setOnItemClickListener(new OnItemClickListener() {
              public void onItemClick(AdapterView<?> parent, View view,
                  int position, long id) {            
    }

}); } }
4

2 回答 2

4

你可以用这种方式...

listView.setOnItemClickListener(new OnItemClickListener() {
          public void onItemClick(AdapterView<?> parent, View view,
              int position, long id) {  

    AlertDialog.Builder alert = new AlertDialog.Builder(getActivity());
    alert.setTitle("Your title here");
    alert.setMessage(myList.get(position).toString());
    alert.setPositiveButton(R.string.OK,
            new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // TODO Auto-generated method stub

                    dialog.dismiss();

                }
            });

    alert.show();          
}});

以同样的方式,您可以使用自定义对话框

改变你的线路

parentLayout = inflater.inflate(R.layout.fragment_4, null);

parentLayout = inflater.inflate(R.layout.fragment_4, container,false);
于 2013-08-15T09:39:12.920 回答
0

您可以为列表项设置 clickListener,如下所示:

    listView.setOnItemClickListener(new OnItemClickListener()
    {
        @Override 
        public void onItemClick(AdapterView<?> arg0, View arg1,int position, long arg3)
        { 
            // show your dialog here
            Toast.makeText(yourActivity.this, "" + position, Toast.LENGTH_SHORT).show();
        }
    });
于 2013-08-15T09:31:48.453 回答