2015-06-17 60 views
-3
public class Titles extends Fragment { 
    View view; 
    SimpleCursorAdapter adapter; 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     // Inflate the layout for this fragment 
     MySqlite db=new MySqlite(getActivity()); 
     view= inflater.inflate(R.layout.fragment_titles, container, false); 
     ListView list=(ListView)view.findViewById(R.id.list); 
     Cursor all_titles = db.getTitle(); 
     adapter = new SimpleCursorAdapter(getActivity().getBaseContext(), 
       R.layout.fragment_titles, 
       all_titles, 
       new String[] { db.KEY_TITLE}, 
       new int[] { R.id.tv_title }, 0); 
     //Attach cursor adapter to the ListView 
     list.setAdapter(adapter); 

     list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
       Toast.makeText(getActivity().getApplicationContext(),"ListView Clicked Go Ahead",Toast.LENGTH_LONG).show(); 
       TextView tv=(TextView)view.findViewById(R.id.tv_title); 
       String selected_title=tv.getText().toString(); 

       // Launching new Activity on selecting single List Item 
       Intent i = new Intent(getActivity().getApplicationContext(), Poem.class); 
       // sending data to new activity 
       i.putExtra("title", selected_title); 
       startActivity(i); 

      } 
     }); 

    return view; 

    } 
} 

我刚刚开始Android开发,和我的工作得到具有点击的片段的Lis​​tView项目问题复选框working.I'm自定义列表视图。在模拟器中,listview click事件不起作用。我正在使用片段。 任何人都可以帮忙。 在此先感谢列表视图onItemClickListener不工作

回答

0

我编辑了部分代码。整个代码波纹管:

public class Titles extends Fragment { 

    View view; 
    SimpleCursorAdapter adapter; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

     return inflater.inflate(R.layout.fragment_titles, container, false); 

    } 

    @Override 
    public void onActivityCreated(Bundle savedInstanceState) { 
     super.onActivityCreated(savedInstanceState); 

     View view = getView(); 

     // Inflate the layout for this fragment 
     MySqlite db = new MySqlite(getActivity()); 

     ListView list = (ListView) view.findViewById(R.id.list); 

     Cursor all_titles = db.getTitle(); 

     adapter = new SimpleCursorAdapter(getActivity().getBaseContext(), 
       R.layout.fragment_titles, 
       all_titles, 
       new String[] { db.KEY_TITLE}, 
       new int[] { R.id.tv_title }, 0); 

     //Attach cursor adapter to the ListView 
     list.setAdapter(adapter); 

     list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

      Toast.makeText(getActivity().getApplicationContext(),"ListView Clicked Go Ahead",Toast.LENGTH_LONG).show(); 
      TextView tv=(TextView)view.findViewById(R.id.tv_title); 
      String selected_title=tv.getText().toString(); 

      // Launching new Activity on selecting single List Item 
      Intent i = new Intent(getActivity().getApplicationContext(), Poem.class); 
      // sending data to new activity 
      i.putExtra("title", selected_title); 
      getActivity().startActivity(i); 

     } 

     }); 

     return view; 

    } 

} 

基本上,我只动了你的代码onActivityCreated,改变了这部分startActivity(i)这个getActivity().startActivity(i)