2014-01-10 3 views
-2

Я хочу создать приложение, которое имеет два действия, в первом действии есть кнопка для запуска второго действия. Как создать это, это мой код, который я хочу выполнить для второго действия.Начало деятельности в android

public class Numbers extends Activity { 
public static MediaPlayer mp = null; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_numbers); 
ViewPager viewPager = (ViewPager)findViewById(R.id.view_pager); 
ImagePagerAdapter adapter = new ImagePagerAdapter(); 
viewPager.setAdapter(adapter); 
} 

private class ImagePagerAdapter extends PagerAdapter { 
private int[] mImages = new int[] {R.drawable.no1,R.drawable.no2,R.drawable.no3,R.drawable.no4,R.drawable.no5,R.drawable.no6,R.drawable.no7,R.drawable.no8,R.drawable.no9,}; 
private int[] mAudio= new int[]{R.raw.one,R.raw.two,R.raw.three,R.raw.four,R.raw.five,R.raw.six,R.raw.seven,R.raw.eight,R.raw.nine,}; 
@Override 
public int getCount() { 
return mImages.length; 
} 
@Override 
public boolean isViewFromObject(View view, Object object) { 
return view == ((ImageView) object); 
     } 
    @Override 
    public Object instantiateItem(ViewGroup container, int position) { 
    Context context = Numbers.this; 
    ImageView imageView = new ImageView(context); 
    int padding =context.getResources(). 
    getDimensionPixelSize(R.dimen.activity_vertical_margin); 
    imageView.setPadding(padding, padding, padding, padding); 
    imageView.setScaleType(ImageView.ScaleType.CENTER); 
    imageView.setImageResource(mImages[position]); 
    ((ViewPager) container).addView(imageView, 0); 

if (mp != null) {mp.reset(); 
mp.release(); 
} 
mp = MediaPlayer.create(Numbers.this,mAudio[position]); 
mp.start(); 
return imageView; 
      } 

@Override 
public void destroyItem(ViewGroup container, int position, Object object) { 
((ViewPager) container).removeView((ImageView) object); 
} 
} 
} 

Мне нужно создать две разные операции с макетом в xml?

ответ

2

Попробуйте это ..

Button bt= (Button) findViewById(R.id.yourbtn_id); 
    bt.setOnClickListener(new OnClickListener(){ 
     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
       Intent intent = new Intent(FirstActivity.this, Numbers.class); 
       startActivity(intent); 
     }   
    }); 

Или

XML:

<Button 
    android:id="@+id/yourbtn_id" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:onClick="BtnClick" 
    android:text="Button" /> 

JAVA:

public void BtnClick(View view) { 
       Intent intent = new Intent(FirstActivity.this, Numbers.class); 
       startActivity(intent); 
    } 

не забудьте добавить в манифест.

<activity 
     android:name=".Numbers"/> 
0

добавить это к вашему 1-го класса:

public void goTo(View view) { 
    Intent intent = new Intent(); 
    intent.setClass(this, 2ndClassActivity.class); 
    startActivity(intent); 
} 

и в дизайне XML добавьте эту строку к кнопке:

android:onClick="goTo" 
+0

я есть добавлен этот код правильно, но мое первое действие не запускается после внесения изменений в mainfest.xml ... он просто запускает и отображает черное окно nothin else :( –

0

В вашей первой деятельности, при нажатии кнопки, сделайте следующее:

Intent intent = new Intent(this, Numbers.class); 
startActivity(intent); 

В AndroidManifest также должна быть функция Numbers:

<activity android:name=".Numbers"></activity> 
0

Добавить следующее в метод onClick или прослушиватель кнопки.

startActivity((new Intent(this, Numbers.class))); 
+0

Примечание: 'this' не относится к контексту активности в анонимном внутреннем классе. должно быть 'ActivityName. this' – Raghunandan

+0

Если используется прослушиватель, то да. – Nfear

0
yourButton.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 

    Intent intent = new Intent(getApplicationContext() , NextActivity.class); 

    startActivity(intent); 

    } 
}); 
Смежные вопросы