بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشکل در intent
سلام به همه دوستان
در اکتیویتی اصلی ام از 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;
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .