listView onclick переходит к новому виду деятельности - PullRequest
7 голосов
/ 31 января 2011

У меня есть просмотр списка, и я хочу перейти к новому действию из каждого элемента списка, который я нажимаю. Это мой код ..

public class DialogActivity extends Activity {

 private ListView lv1;

 private String lv_arr[]={"SuperLeague 2010-2011","Olympiakos on YouTube","Olympiakos Web Site","Find Karaiskaki on map","Reserve Tickets"};
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.dialog);

        lv1=(ListView)findViewById(R.id.dialog_list);

        // By using setAdpater method in listview we an add string array in list.

        lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_arr));


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

      //  Intent newActivity = new Intent(view.getContext(),agones.class);     
            //     startActivity(newActivity);

      }
    });

    }

}

Ответы [ 4 ]

21 голосов
/ 31 января 2011

Используйте оператор switch в этом методе:

  public void onItemClick(AdapterView<?> parent, View view,
      int position, long id) {
    switch( position )
    {
       case 0:  Intent newActivity = new Intent(this, superleague.class);     
                startActivity(newActivity);
                break;
       case 1:  Intent newActivity = new Intent(this, youtube.class);     
                startActivity(newActivity);
                break;
       case 2:  Intent newActivity = new Intent(this, olympiakos.class);     
                startActivity(newActivity);
                break;
       case 3:  Intent newActivity = new Intent(this, karaiskaki.class);     
                startActivity(newActivity);
                break;
       case 4:  Intent newActivity = new Intent(this, reservetickets.class);     
                startActivity(newActivity);
                break;
    }
}

Измените имена классов на те, которые должны быть для каждой операции.

7 голосов
/ 31 января 2011
public class DialogActivity extends Activity {

 private ListView lv1;

 private String lv_arr[]={"SuperLeague 2010-2011","Olympiakos on YouTube","Olympiakos Web Site","Find Karaiskaki on map","Reserve Tickets"};
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.dialog);

        lv1=(ListView)findViewById(R.id.dialog_list);

        // By using setAdpater method in listview we an add string array in list.

        lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_arr));


        lv1.setOnItemClickListener(new OnItemClickListener() {
      public void onItemClick(AdapterView<?> parent, View view,
          int position, long id) {
          final TextView mTextView = (TextView)view;
          switch (position) {
            case 0:
             Intent newActivity0 = new Intent(DialogActivity.this,NewActivity0.class);     
             startActivity(newActivity0);
            break;
            case 1:
             Intent newActivity1 = new Intent(DialogActivity.this,NewActivity1.class);     
             startActivity(newActivity1);
            break;
            case 0:
             Intent newActivity2 = new Intent(DialogActivity.this,NewActivity2.class);     
             startActivity(newActivity2);
            break;
            case 0:
             Intent newActivity3 = new Intent(DialogActivity.this,NewActivity3.class);     
             startActivity(newActivity3);
            break;
            default:
              // Nothing do!
          }

      }
    });

    }
2 голосов
/ 15 октября 2013

Это поздно, но все же это может помочь кому-то: -)

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

if(position == 1)
{

         Intent myIntent = new Intent(YourActivity.this, SecondActivity.class);
             startActivityForResult(myIntent, 0);
}

if(position == 2)
{

         Intent myIntent =  new Intent(YourActivity.this, ThirdActivity.class);
             startActivityForResult(myIntent, 0);
}
    }
  });

Здесь позиция относится к строкам списка просмотра.

1 голос
/ 31 января 2011

Например:

private OnClickListener mSLeagueListener = new OnClickListener() {
    public void onClick(View v) {
        Intent intent = new Intent(Main.this, SuperLeague.class);
        Main.this.startActivity(intent);
    }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...