#android #listview #activity #android_bundle
Всем добрый день. После нажатия на элемент списка listview, нужно передать его позицию (номер элемента списка) в другое активити. Использую position, которая передается в onListItemClick. Но в другое активити почему то передается null. Помогите разобраться)) public class MainActivity extends ListActivity { @Override protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); Intent intent = new Intent(getApplicationContext(), AfterClickActivity.class); intent.putExtra("position",position); startActivity(intent); } @Override protected void onCreate(Bundle savedInstanceState) { Integer[] array = new Integer[100]; for (int i = 0; i <100 ; i++) { array[i] = i; } super.onCreate(savedInstanceState); ArrayAdapter adapter = new ArrayAdapter(getApplicationContext(),R.layout.list_item,R.id.tvText,array); setListAdapter(adapter); } public class AfterClickActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_after_click); String position = getIntent().getStringExtra("position"); TextView view = (TextView)findViewById(R.id.tvView1); view.setText(String.valueOf(position)); }
Ответы
Ответ 1
Получайте во втором активити так: int position = getIntent().getIntExtra("position", 0); При передаче через Intent важно соблюдать типы. Вы помещаете int, а пытаетесь потом получить String
Комментариев нет:
Отправить комментарий