2015-06-17 5 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 развития, и я работаю, чтобы получить Выборочная ListView с флажком working.I'm возникли проблемы, нажав на пункты ListView в фрагментах. В эмуляторе событие clickview не работает. Использую фрагмент. Может ли кто-нибудь помочь. Заранее спасибоListView 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).

Смежные вопросы