سؤال

How can i trigger new fragment or class opens up when each list item is selected? Basically i want new fragment to be youtube fragment. when "Android" is selected particular youtube link is pass to that fragment. Same goes to other list items.

import android.R.string;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class AddingList extends ListFragment implements OnItemClickListener{
  String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
            "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
            "Linux" };

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

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
        android.R.layout.simple_list_item_1, values);
    setListAdapter(adapter);
  }



 @Override
 public void onItemClick(AdapterView adapter, View view, int position, long id) {

  Toast.makeText(getActivity().getBaseContext(), "Item clicked: " + values[position], Toast.LENGTH_LONG).show();

   }
}

have some errors:

import android.R.string;

import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class AddingList extends ListFragment implements OnItemClickListener{
  String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
            "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
            "Linux" };

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

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
        android.R.layout.simple_list_item_1, values);
    setListAdapter(adapter);
  }



 @Override
 public void onItemClick(AdapterView adapter, View view, int position, long id) {
     FragmentTransaction ft = FragmentManager.beginTransaction();
     ft.replace(R.id.yourcontainer, new Home());
  //Toast.makeText(getActivity().getBaseContext(), "Item clicked: " + values[position], Toast.LENGTH_LONG).show();

   }
}
هل كانت مفيدة؟

المحلول

setonItemClickListner(), and then call fragment

like

FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.yourcontainer, new YourClass()).commit();

Regards

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top