Android Soundboard wont play sounds - android

I have created a soundboard and everytime i click on a button to play a certain sound nothing happens. Here is the sound manager code:
package com.androidbook.ufgsoundboard;
import java.util.HashMap;
import android.app.Activity;
import android.content.Context;
import android.media.AudioManager;
import android.media.SoundPool;
public class SoundManager extends Activity {
private SoundPool mSoundPool;
private HashMap<Integer, Integer> mSoundPoolMap;
private AudioManager mAudioManager;
private Context mContext;
public SoundManager()
{
}
public void initSounds(Context theContext) {
mContext = theContext;
mSoundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 0);
mSoundPoolMap = new HashMap<Integer, Integer>();
mAudioManager = (AudioManager)mContext.getSystemService(Context.AUDIO_SERVICE);
}
public void addSound(int Index,int SoundID)
{
mSoundPoolMap.put(Index, mSoundPool.load(mContext, SoundID, 1));
}
public void playSound(int index) {
int streamVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
mSoundPool.play(mSoundPoolMap.get(index), streamVolume, streamVolume, 1, 0, 1f);
}
}
And here is the soundboard code:
package com.androidbook.ufgsoundboard;
import com.androidbook.ufgsoundboard.SoundManager;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class Soundboard extends Activity {
private SoundManager mSoundManager;
/** Called when the activity is first created. */
#Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.petera);
mSoundManager = new SoundManager();
mSoundManager.initSounds(getBaseContext());
mSoundManager.addSound(1, R.raw.sound1);
mSoundManager.addSound(2, R.raw.sound2);
mSoundManager.addSound(3, R.raw.sound3);
mSoundManager.addSound(5, R.raw.sound5);
mSoundManager.addSound(7, R.raw.sound7);
mSoundManager.addSound(9, R.raw.sound9);
mSoundManager.addSound(10, R.raw.sound10);
mSoundManager.addSound(11, R.raw.sound11);
mSoundManager.addSound(13, R.raw.sound13);
mSoundManager.addSound(18, R.raw.sound18);
mSoundManager.addSound(19, R.raw.sound19);
mSoundManager.addSound(20, R.raw.sound20);
mSoundManager.addSound(21, R.raw.sound21);
mSoundManager.addSound(22, R.raw.sound22);
mSoundManager.addSound(23, R.raw.sound23);
mSoundManager.addSound(24, R.raw.sound24);
mSoundManager.addSound(28, R.raw.sound28);
mSoundManager.addSound(30, R.raw.sound30);
Button SoundButton1 = (Button)findViewById(R.id.button3);
SoundButton1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mSoundManager.playSound(1);
}
});
Button SoundButton2 = (Button)findViewById(R.id.button4);
SoundButton2.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mSoundManager.playSound(2);
}
});
Button SoundButton3 = (Button)findViewById(R.id.button5);
SoundButton3.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mSoundManager.playSound(30);
}
});
Button SoundButton4 = (Button)findViewById(R.id.button6);
SoundButton4.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mSoundManager.playSound(3);
}
});
Button SoundButton5 = (Button)findViewById(R.id.button7);
SoundButton5.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mSoundManager.playSound(5);
}
});
Button SoundButton6 = (Button)findViewById(R.id.button8);
SoundButton6.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mSoundManager.playSound(28);
}
});
Button SoundButton7 = (Button)findViewById(R.id.button9);
SoundButton7.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mSoundManager.playSound(9);
}
});
Button SoundButton8 = (Button)findViewById(R.id.button10);
SoundButton8.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mSoundManager.playSound(10);
}
});
Button SoundButton9 = (Button)findViewById(R.id.button11);
SoundButton9.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mSoundManager.playSound(11);
}
});
Button SoundButton10 = (Button)findViewById(R.id.button12);
SoundButton10.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mSoundManager.playSound(13);
}
});
Button SoundButton11 = (Button)findViewById(R.id.button13);
SoundButton11.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mSoundManager.playSound(18);
}
});
Button SoundButton12 = (Button)findViewById(R.id.button14);
SoundButton12.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mSoundManager.playSound(19);
}
});
Button SoundButton13 = (Button)findViewById(R.id.button15);
SoundButton13.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mSoundManager.playSound(20);
}
});
Button SoundButton14 = (Button)findViewById(R.id.button16);
SoundButton14.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mSoundManager.playSound(21);
}
});
Button SoundButton15 = (Button)findViewById(R.id.button17);
SoundButton15.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mSoundManager.playSound(9);
}
});
Button SoundButton16 = (Button)findViewById(R.id.button18);
SoundButton16.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mSoundManager.playSound(23);
}
});
Button SoundButton17 = (Button)findViewById(R.id.button19);
SoundButton17.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mSoundManager.playSound(22);
}
});
Button SoundButton18 = (Button)findViewById(R.id.button20);
SoundButton18.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mSoundManager.playSound(24);
}
});
}};
I cant work out why it wont load. The button highlights when pressed but no sound. Am I missing something obvious?
Thanks

Your code is so complicated ,Use this instead it worked for me !!
This is an example for a single button that plays sound
package com.example.soundtest;
import android.app.Activity;
import android.media.SoundPool;
import android.media.AudioManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
Button white;
SoundPool spool;
int soundID;
#Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.setVolumeControlStream(AudioManager.STREAM_MUSIC);
spool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
soundID = spool.load(this, R.raw.anysoundfile, 1);
white = (Button)findViewById(R.id.button1);
white.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Sound();
}
});
}
public void Sound(){
AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
float volume = (float) audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
spool.play(soundID, volume, volume, 1, 0, 1f);
};
}

Related

Opening Specific Card item in RecycleAdapter from different Activity

I will make this as specific as possible. I've created a Page Which uses RecyclerAdapter to show card items in grid.And I have set a Default Activity for each card using OnclickListner ,So when you click any card item it will take you to that Default Activity Like this Image.And mine one Look Like this click here.My question is how can I open a perticular card in recyler Adapter from a different activity.In my app I want that when I press Go button on popup It will it toggle lvl2 or the next card to open the game activity.
Java file for RecyclerAdapter
package com.example.apptuzzle;
import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import androidx.cardview.widget.CardView;
import androidx.recyclerview.widget.RecyclerView;
import java.util.List;
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.MyViewHolder> {
private Context mcontext;
private List<InGameContent> mData;
public RecyclerViewAdapter(Context mcontext, List<InGameContent> mData){
this.mcontext = mcontext;
this.mData = mData;
}
#Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view;
LayoutInflater mInflater = LayoutInflater.from(mcontext);
view = mInflater.inflate(R.layout.cardview_items1,parent,false);
return new MyViewHolder(view);
}
#Override
public void onBindViewHolder(MyViewHolder holder, final int position) {
holder.Title.setText(mData.get(position).getTitle());
holder.Title.setTag(position);
holder.cardview.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
int pos = (int) getItemId(position) + 1;
Intent intent = new Intent(mcontext,InGame_wrkfunction.class);
intent.putExtra("pos", pos);
//passing data to the InGame_wrkfunction.class
intent.putExtra("Answrr",mData.get(position).getAnswrr());
intent.putExtra("Thumbnail",mData.get(position).getThumbnail());
intent.putExtra("Description",mData.get(position).getDescription());
// start the activity
mcontext.startActivity(intent);
}
});
}
#Override
public int getItemCount() {
return mData.size();
}
public static class MyViewHolder extends RecyclerView.ViewHolder {
TextView Title;
CardView cardview;
public MyViewHolder(View itemView) {
super(itemView);
Title = (TextView) itemView.findViewById(R.id.LvL_id1);
cardview = (CardView) itemView.findViewById(R.id.cardview_id);
}
}
}
Default Game Activity
package com.example.apptuzzle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.cardview.widget.CardView;
import androidx.recyclerview.widget.RecyclerView;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
public class InGame_wrkfunction extends AppCompatActivity {
private Button btn1, btn2, btn3, btn4, btn5, btn6, btn7, btn8, btn9, btn0, btndot; //Buttons Declaration
private Button btnclr, btnsubm, popup_g_button1;
private TextView txtv1, txtv2, popup_g_msg1, popup_g_des1,highscore1;
int scores = 0;
private LinearLayout Popup_layout11;
private Animation pop_animation;
private ImageView img,popup_g_img1,popup_b_img; //Question Declaration
private TextView txt;
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_in_game_wrkfunction);
btn0 = (Button) findViewById(R.id.Btn0);
btn1 = (Button) findViewById(R.id.Btn1);
btn2 = (Button) findViewById(R.id.Btn2);
btn3 = (Button) findViewById(R.id.Btn3);
btn4 = (Button) findViewById(R.id.Btn4);
btn5 = (Button) findViewById(R.id.Btn5);
btn6 = (Button) findViewById(R.id.Btn6);
btn7 = (Button) findViewById(R.id.Btn7);
btn8 = (Button) findViewById(R.id.Btn8);
btn9 = (Button) findViewById(R.id.Btn9);
btndot = (Button) findViewById(R.id.Btndot);
btnclr = (Button) findViewById(R.id.BtnClr);
btnsubm = (Button) findViewById(R.id.BtnSubm);
img = (ImageView) findViewById(R.id.gamethumbnail);
txtv1 = (TextView) findViewById(R.id.TxtV1);
txt = (TextView) findViewById(R.id.TxtV2);
Popup_layout11 = findViewById(R.id.Popup_layout11);
txt = (TextView) findViewById(R.id.TxtV2);
popup_g_button1 = findViewById(R.id.Popup_G_button1);
popup_g_msg1 = findViewById(R.id.Popup_G_msg1);
popup_g_des1 = findViewById(R.id.Popup_G_des1);
popup_g_img1 = findViewById(R.id.Popup_G_Img12);
highscore1 = findViewById(R.id.ScoreCounter1);
pop_animation = AnimationUtils.loadAnimation(this, R.anim.pop_up);
btn0.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
txtv1.setBackgroundResource(R.drawable.input_bttn_colorc);
txtv1.setText(txtv1.getText() + "0");
}
});
btn1.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
txtv1.setBackgroundResource(R.drawable.input_bttn_colorc);
txtv1.setText(txtv1.getText() + "1");
}
});
btn2.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
txtv1.setBackgroundResource(R.drawable.input_bttn_colorc);
txtv1.setText(txtv1.getText() + "2");
}
});
btn3.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
txtv1.setBackgroundResource(R.drawable.input_bttn_colorc);
txtv1.setText(txtv1.getText() + "3");
}
});
btn4.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
txtv1.setBackgroundResource(R.drawable.input_bttn_colorc);
txtv1.setText(txtv1.getText() + "4");
}
});
btn5.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
txtv1.setBackgroundResource(R.drawable.input_bttn_colorc);
txtv1.setText(txtv1.getText() + "5");
}
});
btn6.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
txtv1.setBackgroundResource(R.drawable.input_bttn_colorc);
txtv1.setText(txtv1.getText() + "6");
}
});
btn7.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
txtv1.setBackgroundResource(R.drawable.input_bttn_colorc);
txtv1.setText(txtv1.getText() + "7");
}
});
btn8.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
txtv1.setBackgroundResource(R.drawable.input_bttn_colorc);
txtv1.setText(txtv1.getText() + "8");
}
});
btn9.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
txtv1.setBackgroundResource(R.drawable.input_bttn_colorc);
txtv1.setText(txtv1.getText() + "9");
}
});
btndot.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
txtv1.setBackgroundResource(R.drawable.input_bttn_colorc);
txtv1.setText(txtv1.getText() + ".");
}
});
btnclr.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
txtv1.setBackground(null);
txtv1.setText(null);
}
});
// Receive data
Intent intent = getIntent();
String Description = intent.getExtras().getString("Description"); //It ll fetch data from Description()
int image = intent.getExtras().getInt("Thumbnail");
int pos = intent.getExtras().getInt("pos");
final String answrr1 = intent.getExtras().getString("Answrr");
//Setting Values
img.setImageResource(image); ////It ll replace the image that was fetched previously
txt.setText(Description);
//Load Scores
SharedPreferences myscores = this.getSharedPreferences("MyAwesomeScores", Context.MODE_PRIVATE);
scores = myscores.getInt("scores", 0); //0 tha phehele
highscore1.setText("Scores:" + scores);
btnsubm.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
String a = txtv1.getText().toString();
if (a.equals(answrr1)) {
scores += 30;
//Save scores
SharedPreferences myscores = getSharedPreferences("MyAwesomeScores", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = myscores.edit();
editor.putInt("scores", scores);
editor.commit();
v.setOnClickListener(null);//Remove setOnClickListener
highscore1.setText("Scores:" + scores);
Popup_layout11.setVisibility(LinearLayout.VISIBLE);
Popup_layout11.setAnimation(pop_animation);
Popup_layout11.animate();
pop_animation.start();
} else {
scores -= 30;
//Save scores
SharedPreferences myscores = getSharedPreferences("MyAwesomeScores", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = myscores.edit();
editor.putInt("scores", scores);
editor.commit();
v.setOnClickListener(null);//Remove setOnClickListener
highscore1.setText("Scores:" + scores);
popup_g_img1.setImageResource(R.drawable.sadface11);
popup_g_msg1.setText("Ohh Snap!");
popup_g_des1.setText("Don't worry Kid you just tap the button to move on to the next lesson. REMEMBER 'never waste time'.");
Popup_layout11.setVisibility(LinearLayout.VISIBLE);
Popup_layout11.setAnimation(pop_animation);
Popup_layout11.animate();
pop_animation.start();
}
}
});
}
}
/*Two Ways of Putting One Animation In an activity
* 1st One
* Anim1 = AnimationUtils.loadAnimation(this, R.anim.new_animfile1);
// pop_img1.setVisibility(View.GONE);
Btn1.setOnClickListener(new View.OnClickListener() { <-----In this type you can put animation inside On Click Listener
#Override
public void onClick(View v) {
Layout1.setVisibility(LinearLayout.VISIBLE);
Anim1.setDuration(500);
Layout1.setAnimation(Anim1);
Layout1.animate();
Anim1.start();
}
});
*
*
* 2nd One
* public class MyActivity extends Activity{
#Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); <-----In this type you can set another class outside the OnCreate Bundle
}
public void animate(View view){
LinearLayout dialog = (LinearLayout)findViewById(R.id.dialog);
dialog.setVisibility(LinearLayout.VISIBLE);
Animation animation = AnimationUtils.loadAnimation(this, R.anim.anim);
animation.setDuration(500);
dialog.setAnimation(animation);
dialog.animate();
animation.start();
}
}
* */
What I understand is you want to open different activities on each card click.If it's correct then,
use switch inside your onClick and open your activity on a particular item click
#Override
public void onClick(View v) {
final Intent intent;
switch (getAdapterPostion()){
case 0:
intent = new Intent(context, FirstActivity.class);
break;
case 1:
intent = new Intent(context, SecondActivity.class);
break;
...
default:
intent = new Intent(context, DefaultActivity.class);
break;
}
context.startActivity(intent);
}
Or Use:-
#Override
public void onClick(View v) {
final Intent intent;
if (getAdapterPosition() == sth){
intent = new Intent(context, OneActivity.class);
} else if (getPosition() == sth2){
intent = new Intent(context, SecondActivity.class);
} else {
intent = new Intent(context, DifferentActivity.class);
}
context.startActivity(intent);
}

java.lang.ClassCastException: com.example.harshitbahri.expensebook.MainActivity cannot be cast to com.example.harshitbahri.expensebook.EditorActivity

I want to change the TextView of editor activity by clicking on Button buttonExpense which should also open editor activity and show value of the result in
EditText mAmountEditText.
I am getting java.lang.ClassCastException in which it is clearly written that MainActivity cannot be cast to EditorActivity
Calculator.java
package com.example.harshitbahri.expensebook;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class Calculator extends android.support.v4.app.Fragment {
Button button0;
Button button1;
Button button2;
Button button3;
Button button4;
Button button5;
Button button6;
Button button7;
Button button8;
Button button9;
Button buttonAdd;
Button buttonSubstract;
Button buttonMul;
Button buttonDiv;
Button buttonClear;
Button buttonEqual;
Button buttonExpense;
String result;
String tmp;
String operator;
TextView resultTextView;
FragmentActivity fa2;
#Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
fa2 = (FragmentActivity) super.getActivity();
final View RootView= inflater.inflate(R.layout.activity_calculator, container, false);
button0 = (Button)RootView.findViewById(R.id.button0);
button1 = (Button)RootView.findViewById(R.id.button1);
......
buttonAdd = (Button)RootView.findViewById(R.id.buttonAdd);
buttonClear = (Button)RootView.findViewById(R.id.buttonClear);
buttonSubstract = (Button)RootView.findViewById(R.id.buttonSub);
buttonMul = (Button)RootView.findViewById(R.id.buttonMul);
buttonDiv = (Button)RootView.findViewById(R.id.buttonDiv);
buttonEqual = (Button)RootView.findViewById(R.id.buttonEqual);
buttonExpense= (Button)RootView.findViewById(R.id.buttonExp);
resultTextView = (TextView)RootView.findViewById(R.id.text_view_result);
button0.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
onNumberButtonClicked("0");
}
});
button1.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
onNumberButtonClicked("1");
}
});
button2.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
onNumberButtonClicked("2");
}
});
button3.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
onNumberButtonClicked("3");
}
});
button4.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
onNumberButtonClicked("4");
}
});
button5.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
onNumberButtonClicked("5");
}
});
button6.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
onNumberButtonClicked("6");
}
});
button7.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
onNumberButtonClicked("7");
}
});
button8.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
onNumberButtonClicked("8");
}
});
button9.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
onNumberButtonClicked("9");
}
});
buttonClear.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
onClearButtonClicked();
}
});
buttonSubstract.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v){
onOperatorButtonClicked("-");
}
});
buttonAdd.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
onOperatorButtonClicked("+");
}
});
buttonMul.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
onOperatorButtonClicked("X");
}
});
buttonDiv.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
onOperatorButtonClicked("/");
}
});
buttonEqual.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
onEqualButtonClicked();
}
});
buttonExpense.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
Intent intent = new Intent(fa2, EditorActivity.class);
startActivity(intent);
((EditorActivity) getActivity()).updateGoldTextView(result);
/*Intent intent = new Intent(fa2, EditorActivity.class);
intent.putExtra(, result);
final int result2=1;
startActivityForResult(intent, result2);*/
}
});
return RootView;
}
private void onEqualButtonClicked() {
int res = 0;
try {
int number = Integer.valueOf(tmp);
int number2 = Integer.valueOf(resultTextView.getText().toString());
switch (operator) {
case "+":
res = number + number2;
break;
case "/":
res = number / number2;
break;
case "-":
res = number - number2;
break;
case "X":
res = number * number2;
break;
}
result = String.valueOf(res);
resultTextView.setText(result);
}
catch (Exception e) {
e.printStackTrace();
}
}
public void onOperatorButtonClicked(String operator) {
..
}
public void onClearButtonClicked() {
...
}
public void onNumberButtonClicked(String pos) {
..
}
public interface OnFragmentInteractionListener {
// TODO: Update argument type and name
void onFragmentInteraction(Uri uri);
}
}`
EditorActivity.java
package com.example.harshitbahri.expensebook;
import android.app.AlertDialog;
import android.app.LoaderManager;
...
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
public class EditorActivity extends AppCompatActivity implements
LoaderManager.LoaderCallbacks<Cursor> {
private static final int EXISTING_EXPENSE_LOADER = 0;
private Uri mCurrentExpenseUri;
private EditText mAmountEditText;
private EditText mDescEditText;
private Spinner mCategorySpinner;
private String mCategory = ExpenseEntry.CATEGORY_GENERAL;
private View.OnTouchListener mTouchListener = new View.OnTouchListener() {
#Override
public boolean onTouch(View view, MotionEvent motionEvent) {
mExpenseHasChanged = true;
return false;
}
};
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_editor);
// Examine the intent that was used to launch this activity,
// in order to figure out if we're creating a new pet or editing an existing one.
Intent intent = getIntent();
mCurrentExpenseUri = intent.getData();
// If the intent DOES NOT contain a pet content URI, then we know that we are
// creating a new pet.
if (mCurrentExpenseUri == null) {
// This is a new pet, so change the app bar to say "Add a Pet"
setTitle("Add Expense");
yet.)
invalidateOptionsMenu();
} else {
// Otherwise this is an existing pet, so change app bar to say "Edit Pet"
setTitle("Edit Expense");
getLoaderManager().initLoader(EXISTING_EXPENSE_LOADER, null, this);
}
mAmountEditText = (EditText) findViewById(R.id.exp_amount);
mDescEditText = (EditText) findViewById(R.id.description);
mCategorySpinner = (Spinner) findViewById(R.id.spinner_category);
.....
}
......
finish();
}
public void updateGoldTextView(String goldAmount) {
mAmountEditText.setText(goldAmount);
}
}
MainActivity.java
package com.example.harshitbahri.expensebook;
import android.net.Uri;
import android.support.design.widget.TabLayout;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity implements
Calculator.OnFragmentInteractionListener ,
Entries.OnFragmentInteractionListener,Info.OnFragmentInteractionListener{
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TabLayout tabLayout = (TabLayout)findViewById(R.id.tablayout);
tabLayout.addTab(tabLayout.newTab().setText("Tab 1"));
tabLayout.addTab(tabLayout.newTab().setText("Tab 2"));
tabLayout.addTab(tabLayout.newTab().setText("Tab 3"));
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
final ViewPager viewPager = (ViewPager)findViewById(R.id.pager);
final Pageradapter adapter = new Pageradapter(getSupportFragmentManager(),tabLayout.getTabCount());
viewPager.setAdapter(adapter);
viewPager.setOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
viewPager.setCurrentItem(1, false);
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
#Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
}
#Override
public void onTabUnselected(TabLayout.Tab tab) {
}
#Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
}
#Override
public void onFragmentInteraction(Uri uri) {
}
}
Your fragment is loaded from MainActivity and not EditorActivity, hence the class cast exception. If you want to pre-fill some data in the editor activity, you can pass that in the intent ( the code you commented on your onclick listener) and retrieve in the EditorActivity and set your UI elements.
Edited
buttonExpense.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
Intent intent = new Intent(fa2, EditorActivity.class);
intent.putExtra("result", result);
startActivity(intent);
}});
In your EditorActivity class, in on create
String result=getIntent().getStringExtra("result")
updateGoldTextView(result)

Verifying random note in android

I have an array that chooses and plays a random note. What I want to make happen is when you double click a piano key the code should check and see if it's the same note as the randomly chosen one, any ideas?
Here's the code:
package com.stefanawesome.piano;
import android.content.pm.ActivityInfo; import
android.media.AudioManager; import android.media.MediaPlayer; import
android.media.SoundPool; import android.os.Build; import
android.provider.ContactsContract; import
android.support.v7.app.AppCompatActivity; import android.os.Bundle;
import android.view.View; import android.widget.Button; import
android.widget.ImageButton; import android.widget.TextView;
import java.util.ArrayList; import java.util.List; import
java.util.Random;
public class MainActivity extends AppCompatActivity {
//Declaring variables and array:
ImageButton NoteNew;
ImageButton Repeat;
Button c, d, e, f, g, a, b, high;
List<Integer> soundList = new ArrayList<Integer>();
private SoundPool soundpool;
private int sound_c, sound_d, sound_e, sound_f, sound_g, sound_a, sound_b, sound_high;
//Random Note Function:
int last;
private void playRandomSound() {
int randomInt = (new Random().nextInt(soundList.size()));
last=randomInt;
int rSound = soundList.get(randomInt);
MediaPlayer mp = MediaPlayer.create(this, rSound);
mp.start();
}
//Repeat Note
private void playlastRandomSound() {
int rSound = soundList.get(last);
MediaPlayer mp = MediaPlayer.create(this, rSound);
mp.start();
}
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//Find View by ID all here:
soundList.add(R.raw.c);
soundList.add(R.raw.d);
soundList.add(R.raw.e);
soundList.add(R.raw.f);
soundList.add(R.raw.g);
soundList.add(R.raw.a);
soundList.add(R.raw.b);
soundList.add(R.raw.chigh);
NoteNew = (ImageButton) findViewById(R.id.Newnote);
Repeat = (ImageButton) findViewById(R.id.Repeat);
c = (Button) findViewById(R.id.C);
d = (Button) findViewById(R.id.D);
e = (Button) findViewById(R.id.E);
f = (Button) findViewById(R.id.F);
g = (Button) findViewById(R.id.G);
a = (Button) findViewById(R.id.A);
b = (Button) findViewById(R.id.B);
high = (Button) findViewById(R.id.high);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
soundpool = new SoundPool.Builder().setMaxStreams(5).build();
} else {
soundpool = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);
}
//Soundpools over here:
sound_c = soundpool.load(this, R.raw.c, 1);
sound_d = soundpool.load(this, R.raw.d, 1);
sound_e = soundpool.load(this, R.raw.e, 1);
sound_f = soundpool.load(this, R.raw.f, 1);
sound_g = soundpool.load(this, R.raw.g, 1);
sound_a = soundpool.load(this, R.raw.a, 1);
sound_b = soundpool.load(this, R.raw.b, 1);
sound_high = soundpool.load(this, R.raw.chigh, 1);
//When button gets clicked do something:
c.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View view) {
soundpool.play(sound_c, 1, 1, 0, 0, 1);
}
});
d.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View view) {
soundpool.play(sound_d, 1, 1, 0, 0, 1);
}
});
e.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View view) {
soundpool.play(sound_e, 1, 1, 0, 0, 1);
}
});
f.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View view) {
soundpool.play(sound_f, 1, 1, 0, 0, 1);
}
});
g.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View view) {
soundpool.play(sound_g, 1, 1, 0, 0, 1);
}
});
a.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View view) {
soundpool.play(sound_a, 1, 1, 0, 0, 1);
}
});
b.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View view) {
soundpool.play(sound_b, 1, 1, 0, 0, 1);
}
});
high.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View view) {
soundpool.play(sound_high, 1, 1, 0, 0, 1);
}
});
NoteNew.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View view) {
playRandomSound();
}
});
Repeat.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View view) {
playlastRandomSound();
}
});
}
}
c.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View view) {
soundpool.play(sound_c, 1, 1, 0, 0, 1);
if(last == 0){
"You played the last note."
}
}
});
d.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View view) {
soundpool.play(sound_d, 1, 1, 0, 0, 1);
if(last == 1){
"You played the last note."
}
}
});
Since the listeners and the list got the same order, you can do this. A better choice is creating another class called Sounds or something like that, with the sound and an id.

My second button in andiroid studio dosenot work, even i set a diffrent methods in particular button's onclick properties

This is My main activity program :
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
private static ImageView im1;
private static Button btm,btm2;
private int current_image_index;
int[] images={R.mipmap.mylogo,R.mipmap.picasa,R.mipmap.twitter};
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onclk(View v)
{
im1=(ImageView)findViewById(R.id.imageView);
btm=(Button)findViewById(R.id.button);
btm.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
current_image_index++;
current_image_index = current_image_index % (images.length);
im1.setImageResource(images[current_image_index]);
}
});
}
public void onclk2(View v)
{
im1=(ImageView)findViewById(R.id.imageView);
btm2=(Button)findViewById(R.id.button2);
btm.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
current_image_index--;
current_image_index = current_image_index % (images.length);
im1.setImageResource(images[current_image_index]);
}
});
}
}
I desighned two button named as forwardbutton and backward button, i set an onclick property for each buttons, first btton onclik(), second button onclk2() function.....
But while running the app backward button doesnot works
use
btm2.setOnClickListener
insted of
btm.setOnClickListener
in second function
and the complete code is
public void onclk2(View v)
{
im1=(ImageView)findViewById(R.id.imageView);
btm2=(Button)findViewById(R.id.button2);
btm2.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
current_image_index--;
current_image_index = current_image_index % (images.length);
im1.setImageResource(images[current_image_index]);
}
});
}
}
Replace this code with your Code:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
private static ImageView im1;
private static Button btm,btm2;
private int current_image_index;
int[] images={R.mipmap.mylogo,R.mipmap.picasa,R.mipmap.twitter};
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onclk(View v)
{
im1=(ImageView)findViewById(R.id.imageView);
btm=(Button)findViewById(R.id.button);
btm.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
current_image_index++;
current_image_index = current_image_index % (images.length);
im1.setImageResource(images[current_image_index]);
}
});
}
public void onclk2(View v)
{
im1=(ImageView)findViewById(R.id.imageView);
btm2=(Button)findViewById(R.id.button2);
// Your Error Was Here/in Below Line
btm2.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
current_image_index--;
current_image_index = current_image_index % (images.length);
im1.setImageResource(images[current_image_index]);
}
});
}
}
public void onclk2(View v)
{
im1=(ImageView)findViewById(R.id.imageView);
btm2=(Button)findViewById(R.id.button2);
btm2.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
current_image_index--;
current_image_index = current_image_index % (images.length);
im1.setImageResource(images[current_image_index]);
}
});
}
Hope this will helps...(:

I am running into problems with use of multiple mediaplayes

I am making a sound board and I have about 12 media players, when I boot up the app in my emulator, and I start clicking some of the buttons, the other buttons that weren't clicked cease to produce the sound that they were set to produce.
package com.example.husse.randomsounds;
import android.graphics.Typeface;
import android.media.Image;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.widget.TextView;
import android.widget.ImageButton;
import android.content.Intent;
public class Board_one extends AppCompatActivity {
private TextView title1;
private ImageButton cat;
private ImageButton scream;
private ImageButton next;
private ImageButton time;
private ImageButton dogg;
private ImageButton crowd;
private ImageButton gun;
private ImageButton thunder;
private ImageButton forest;
private ImageButton faucet;
private ImageButton alarm;
private ImageButton lazer;
private ImageButton shatter;
public MediaPlayer mplayer;
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_board_one);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
//Finding Buttons
title1 = (TextView) findViewById(R.id.textView2);
lazer = (ImageButton)findViewById(R.id.imageButton1234);
shatter = (ImageButton) findViewById(R.id.imageButton8);
alarm = (ImageButton) findViewById(R.id.imageButton91);
scream = (ImageButton) findViewById(R.id.imageButton2);
faucet = (ImageButton) findViewById(R.id.imageButton94);
cat = (ImageButton) findViewById(R.id.imageButton);
next = (ImageButton) findViewById(R.id.imageButton3);
time = (ImageButton) findViewById(R.id.imageButton4);
dogg = (ImageButton) findViewById(R.id.imageButton5);
crowd = (ImageButton) findViewById(R.id.imageButton6);
gun = (ImageButton) findViewById(R.id.imageButton78);
thunder = (ImageButton) findViewById(R.id.imageButton80);
forest = (ImageButton) findViewById(R.id.imageButton90);
//Finding buttons
Typeface mytypeface = Typeface.createFromAsset(getAssets(), "AirstreamNF.otf");
title1.setTypeface(mytypeface);
//Media Players ------------------------------------------------------------------------------------
final MediaPlayer dog = MediaPlayer.create(this, R.raw.meow);
final MediaPlayer faucetsound = MediaPlayer.create(this, R.raw.waterfall);
final MediaPlayer thundersound = MediaPlayer.create(this, R.raw.thundersound);
final MediaPlayer gunshot = MediaPlayer.create(this, R.raw.gunshot);
final MediaPlayer scare = MediaPlayer.create(this, R.raw.screaming);
final MediaPlayer baby = MediaPlayer.create(this, R.raw.timesup);
final MediaPlayer bark = MediaPlayer.create(this, R.raw.dogbarking);
final MediaPlayer boo = MediaPlayer.create(this, R.raw.wow);
final MediaPlayer forestsounds = MediaPlayer.create(this, R.raw.rainforestsound);
final MediaPlayer alaramsound = MediaPlayer.create(this, R.raw.alarm);
final MediaPlayer Lazerso = MediaPlayer.create(this, R.raw.laserbeam);
final MediaPlayer shattersound = MediaPlayer.create(this, R.raw.shattering);
// Animations ---------------------------------------------------------------------
final Animation animation = new AlphaAnimation(1.0f, 0.0f);
animation.setDuration(100);
//---------------------------------------------------------------------------
cat.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
cat.startAnimation(animation);
dog.start();
}
}
);
scream.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
scream.startAnimation(animation);
scare.start();
}
}
);
next.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
Intent dab = new Intent("com.example.husse.randomsounds.Board_two");
startActivity(dab);
}
}
);
time.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
time.startAnimation(animation);
baby.start();
}
}
);
dogg.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
dogg.startAnimation(animation);
bark.start();
}
}
);
crowd.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
crowd.startAnimation(animation);
boo.start();
}
}
);
gun.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
gun.startAnimation(animation);
gunshot.start();
}
});
thunder.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
thunder.startAnimation(animation);
thundersound.start();
}
}
);
forest.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
forest.startAnimation(animation);
forestsounds.start();
}
}
);
faucet.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
faucet.startAnimation(animation);
faucetsound.start();
}
}
);
alarm.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
alarm.startAnimation(animation);
alaramsound.start();
}
}
);
shatter.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
shatter.startAnimation(animation);
shattersound.start();
}
}
);
lazer.setOnClickListener(
new View.OnClickListener() {
#Override
public void onClick(View v) {
lazer.startAnimation(animation);
Lazerso.start();
}
}
);
}
}
I would recomend you using only one mediaplayer:
MediaPlayer mp;
Then, inside onCreate method:
mp.setOnPreparedListener(new OnPreparedListener() {
#Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
And on your onClick listeners:
mp.setDataSource(this,R.raw.gunshot);
mp.prepareAsync();

Categories

Resources