ListView переходит на различные виды деятельности - PullRequest
1 голос
/ 30 мая 2011

Хорошо, я очень новичок в разработке и программировании Android в целом.У меня есть listView с двумя элементами в нем, когда пользователь щелкает по нему, я хочу, чтобы каждый переходил к своей деятельности.Вот код, который у меня есть.

package com.pais.convert;

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class list extends ListActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);

      String[] choose = getResources().getStringArray(R.array.list_chooser);
      setListAdapter(new ArrayAdapter<String>(this,
              android.R.layout.simple_list_item_1, choose));

      ListView lv = getListView();
      lv.setTextFilterEnabled(true);
    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        Intent intent = new Intent(this, tempConvert.class);
        intent.putExtra("KEY_SELECTED_INDEX", position);
        startActivity(intent);
    }
    }

Так что здесь, когда он щелкнет, оба перейдут в tempConvert.class.Я хочу, чтобы тот, который говорит «Temp», перешел в tempConvert, а когда нажал «Dist», он перешел в distConvert.class.Как бы я это сделал?

Заранее спасибо за помощь

Ответы [ 3 ]

2 голосов
/ 30 мая 2011

Внутри onListItemClick создайте оператор switch с параметром int position.Затем, если это 0, вы идете в один класс, если это 1, вы идете в другой.

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    switch(position) {
        case '0' :            
            Intent intent = new Intent(this, tempConvert.class);
            intent.putExtra("KEY_SELECTED_INDEX", position);
            startActivity(intent);
            break;
        case '1' :            
            Intent intent = new Intent(this, distConvert.class);
            intent.putExtra("KEY_SELECTED_INDEX", position);
            startActivity(intent);
            break;
    }
}
1 голос
/ 30 мая 2011
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    Intent intent = null;
    switch (position) {
    case 0:
        intent = new Intent(this, tempConvert.class);
        break;
    case 1:
        intent = new Intent(this, distConvert.class);
        break;
    }
    if (intent != null) {
        startActivity(intent);
    } else {
        // report unknown item selection
    }
}
0 голосов
/ 28 февраля 2013
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
Intent intent = null;
switch (position) {
case 0:
    startActivity(new Intent(this, tempConvert.class));
    break;
case 1:
    startActivity(new Intent(this, distConvert.class));
    break;
}

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...