آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل در intent

morteza1366  10 سال پیش  10 سال پیش
0 0

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

در اکتیویتی اصلی ام از 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 سال پیش
+1 0

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

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

 

+1 0
جواب شما باعث شد بفهمم کجای کدم رو اشتباه نوشتم؛خیلی ممنون (10 سال پیش)

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