-3

У меня есть список фрагментов диалога. В этом списке есть изображение и текстовое представление.
Я хотел бы щелкнуть каждый элемент в списке, чтобы начать новую работу! попробовал onItemClickListener, но, возможно, не начал новый вид активности, текущий onItemClickListener отображает текст тоста при нажатии.начать новую активность из каждого списка. Элемент выбранного объекта

Я попытался удалить тост и добавить намерение безрезультатно.

public class MainActivity extends FragmentActivity { 

    Button showBtn; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     final android.support.v4.app.FragmentManager fm = getSupportFragmentManager(); 
     final PlayersFragment p = new PlayersFragment(); 
     showBtn = (Button) findViewById(R.id.button1); 
     showBtn.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       final FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); 
       showBtn.setVisibility(View.GONE); 

       transaction.replace(R.id.fragment_container, p); 
       transaction.addToBackStack(null); 
       transaction.commit(); 
      } 
     }); 
    } 

    @Override 
    public void onBackPressed() { 
     if (showBtn != null) { 
      showBtn.setVisibility(View.VISIBLE); 
     } 
     super.onBackPressed(); 
    } 
} 

public class PlayersFragment extends android.support.v4.app.DialogFragment { 

    ListView lv; 
    String[] players = {"image1", "image2", "image3", "image4", "image5", "image6", "image7", 
      "image8", "image9", "image10", "image11", "image12", "image13", "image14"}; 

    int[] images = {R.drawable.image1, R.drawable.image2, R.drawable.image3, R.drawable.image4, 
      R.drawable.image5, R.drawable.image6, R.drawable.image7, R.drawable.image8, R.drawable.image9, R.drawable.image10, 
      R.drawable.image11, R.drawable.image12, R.drawable.image13, R.drawable.image14,}; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.dialog, container, false); 

     //initialize listview 
     lv = (ListView) rootView.findViewById(R.id.listView1); 

     //create adapter obj and set list view to it 
     Adapter adapter = new Adapter(getActivity(), players, images); 
     lv.setAdapter(adapter); 

     lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> a, View v, int pos, long id) { 
       Toast.makeText(getActivity(), players[pos], Toast.LENGTH_SHORT).show(); 
      } 
     }); 

     return rootView; 
    } 
} 
+2

Какой код вы написали, чтобы начать «Активность»? можете ли вы добавить, что слишком –

+0

в onItemclickListener я использовал намерение намерения = новое намерение (это, PlayerFragment) start.image1.activity; start.image2.activity; – james

+0

вы должны сделать так, чтобы startActivity -> 'getActivity(). StartActivity (intent)' –

ответ

1

вы можете использовать onItemClicklistener для своего списка:

list.setOnItemClickListener(new OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> arg0, View arg1, int pos, 
       long arg3) { 
       if(pos == 0) 
       { 
        Intent intent = new Intent(getActivity() , Activity2.class); 
        startActivity(intent); 
       } 
       else if(pos == 1) 
       { 
        Intent intent = new Intent(getActivity() , Activity3.class); 
        startActivity(intent); 
       } and so on ....... 
     } 
    }); 
+0

привет Пирисок, будет ли это работать в текущем onItemClickListener, удалив тост? – james

+0

вы должны установитьOnItemClickListener для своего списка не кнопку, если вы это сделаете, значение pos укажет номер строки вашего списка, так как вы можете запускать действия из щелчка каждой строки списка. – Pirisok

+0

@james, если вы замените lv.setonitemclick слушателем вашего кода, тем, который я предлагаю, он будет работать для вас. – Pirisok

0

Читать документацию для начала:. http://developer.android.com/reference/android/app/Activity.html#StartingActivities

Затем в слушателя, называют startActivity по PlayersFragment.this.getActivity() startActivity() или что-то подобное

+0

thats, что я пытался в onClick перед тем, как обратиться за помощью – james

+0

Можете ли вы показать свой код для запуска активности внутри слушателя? –

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