بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

مشکل در intent

مدیریت گفتگو
morteza1366 10 سال پیش
آخرین تغییر: 10 سال پیش

سلام به همه دوستان

در اکتیویتی اصلی ام از setOnItemClickListener برای لیست ویو استفاده کرده ام که بعد از کلیک کردن کاربر بر روی هر سطر لیست ویو اکتیویتی جدید باز میشود و در اکتیویتی جدید بر اساس position هر سطر لیست ویو آهنگ مربوط به آن سطر پخش میشود،تا اینجا درست انجام میشه.

سوالم: چرا توی اکتیویتی دوم نمی تونم به مقدار position رویداد setOnItemClickListener دسترسی داشته باشم؟

ممنون

  listView2.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {

Intent intent = new Intent(AudioClassMainActivity.this, AudioClassShowContentStory.class);
intent.putExtra("position", position);
startActivity(intent);

if (position == 1) {

mp = MediaPlayer.create(getBaseContext(), R.raw.track101);
mp.start();

}

if (position == 2) {

mp = MediaPlayer.create(AudioClassMainActivity.this, R.raw.track102);
mp.start();
}

if (position == 3) {

mp = MediaPlayer.create(AudioClassMainActivity.this, R.raw.track103);
mp.start();
}

if (position == 4) {

mp = MediaPlayer.create(getBaseContext(), R.raw.track104);
mp.start();
}

if (position == 5) {

mp = MediaPlayer.create(getBaseContext(), R.raw.track105);
mp.start();
}

if (position == 6) {

mp = MediaPlayer.create(getBaseContext(), R.raw.track106);
mp.start();
}

}
});




کد اکتیویتی دوم :



Intent i = getIntent();


EnglishText = i.getStringExtra("EnglishText");
soundid = i.getIntExtra("soundid", soundid);
ContentstoryAudio.setText(EnglishText);

Intent i1 = getIntent();
Bundle b = i1.getExtras();
int position = b.getInt("position", 0);

final MediaPlayer mediaplayer = MediaPlayer.create(getApplicationContext(), soundid);

if (position == 1) {
Toast.makeText(this, "This is position 1", Toast.LENGTH_LONG).show();
// seekBarValue.setText("This Position 1");
}
if (position == 2) {

seekBarValue.setText("This Position 2");
}

نظرات

پاسخ‌ها 1

alisherafat01 10 سال پیش

بهتره برای این کار  از switch case استفاده بشه و باید توی هر case اون مقدار position ارسال بشه برای مثال:

 Intent intent = new Intent(AudioClassMainActivity.this, AudioClassShowContentStory.class);
switch (position){
case 0:
intent.putExtra("position", 0);
startActivity(intent);
break;
}

 

نظرات

morteza1366 10 سال پیش
جواب شما باعث شد بفهمم کجای کدم رو اشتباه نوشتم؛خیلی ممنون

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .