J'ai un problème avec une application Android à moi.Il se bloque au démarrage et je ne sais pas grand-chose sur LogCat. Peut-on me suggérer la meilleure façon de résoudre le problème.Je n'ai aucune idée de ce que est faux.Android App se bloque lors de l'ouverture
Il s'agit d'une application MediaPlayer qui boucle l'audio.
Avant d'écrire (setOnClickListerner) Il ne s'est pas écrasé.
Ce qui pourrait causer le problème?
MainActivity.java:
package com.jobyreuben.dholakloops;
public class MainActivity extends AppCompatActivity {
Button dholak01;
Button dholak02;
Button dholak03;
Button dholak04;
Button dholak05;
Button dholak06;
Button dholak07;
Button dholak08;
Button dholak09;
Button dholak10;
Button dholak11;
Button dholak12;
Button dholak13;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
dholak01 = (Button) findViewById(R.id.button_1);
final MediaPlayer dk1 = MediaPlayer.create(MainActivity.this, R.raw.dholak01);
dholak02 = (Button) findViewById(R.id.button_2);
final MediaPlayer dk2 = MediaPlayer.create(MainActivity.this, R.raw.dholak02);
dholak03 = (Button) findViewById(R.id.button_3);
final MediaPlayer dk3 = MediaPlayer.create(MainActivity.this, R.raw.dholak03);
dholak04 = (Button) findViewById(R.id.button_4);
final MediaPlayer dk4 = MediaPlayer.create(MainActivity.this, R.raw.dholak04);
dholak05 = (Button) findViewById(R.id.button_5);
final MediaPlayer dk5 = MediaPlayer.create(MainActivity.this, R.raw.dholak05);
dholak07 = (Button) findViewById(R.id.button_6);
final MediaPlayer dk6 = MediaPlayer.create(MainActivity.this, R.raw.dholak06);
dholak08 = (Button) findViewById(R.id.button_7);
final MediaPlayer dk7 = MediaPlayer.create(MainActivity.this, R.raw.dholak07);
dholak09 = (Button) findViewById(R.id.button_8);
final MediaPlayer dk8 = MediaPlayer.create(MainActivity.this, R.raw.dholak08);
dholak10 = (Button) findViewById(R.id.button_9);
final MediaPlayer dk9 = MediaPlayer.create(MainActivity.this, R.raw.dholak09);
dholak11 = (Button) findViewById(R.id.button_10);
final MediaPlayer dk10 = MediaPlayer.create(MainActivity.this, R.raw.dholak10);
dholak12 = (Button) findViewById(R.id.button_11);
final MediaPlayer dk11 = MediaPlayer.create(MainActivity.this, R.raw.dholak11);
dholak13 = (Button) findViewById(R.id.button_12);
final MediaPlayer dk12 = MediaPlayer.create(MainActivity.this, R.raw.dholak12);
dholak01.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (dk1.isPlaying()) {
dk1.pause();
dholak01.setBackgroundResource(R.drawable.dholak);
} else {
dk1.start();
dholak01.setBackgroundResource(R.drawable.dholakp);
dk1.setLooping(true);
}
}
});
dholak02.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (dk2.isPlaying()) {
dk2.pause();
dholak02.setBackgroundResource(R.drawable.dholak);
} else {
dk2.start();
dholak02.setBackgroundResource(R.drawable.dholakp);
dk2.setLooping(true);
}
}
});
dholak03.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (dk3.isPlaying()) {
dk3.pause();
dholak03.setBackgroundResource(R.drawable.dholak);
} else {
dk3.start();
dholak03.setBackgroundResource(R.drawable.dholakp);
dk3.setLooping(true);
}
}
});
dholak04.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (dk4.isPlaying()) {
dk4.pause();
dholak04.setBackgroundResource(R.drawable.dholak);
} else {
dk4.start();
dholak04.setBackgroundResource(R.drawable.dholakp);
dk4.setLooping(true);
}
}
});
dholak05.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (dk5.isPlaying()) {
dk5.pause();
dholak05.setBackgroundResource(R.drawable.dholak);
} else {
dk5.start();
dholak05.setBackgroundResource(R.drawable.dholakp);
dk5.setLooping(true);
}
}
});
dholak06.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (dk6.isPlaying()) {
dk6.pause();
dholak06.setBackgroundResource(R.drawable.dholak);
} else {
dk6.start();
dholak06.setBackgroundResource(R.drawable.dholakp);
dk6.setLooping(true);
}
}
});
dholak07.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (dk7.isPlaying()) {
dk7.pause();
dholak07.setBackgroundResource(R.drawable.dholak);
} else {
dk7.start();
dholak07.setBackgroundResource(R.drawable.dholakp);
dk7.setLooping(true);
}
}
});
dholak08.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (dk8.isPlaying()) {
dk8.pause();
dholak08.setBackgroundResource(R.drawable.dholak);
} else {
dk8.start();
dholak08.setBackgroundResource(R.drawable.dholakp);
dk8.setLooping(true);
}
}
});
dholak09.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (dk9.isPlaying()) {
dk9.pause();
dholak09.setBackgroundResource(R.drawable.dholak);
} else {
dk9.start();
dholak09.setBackgroundResource(R.drawable.dholakp);
dk9.setLooping(true);
}
}
});
dholak10.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (dk10.isPlaying()) {
dk10.pause();
dholak10.setBackgroundResource(R.drawable.dholak);
} else {
dk10.start();
dholak10.setBackgroundResource(R.drawable.dholakp);
dk10.setLooping(true);
}
}
});
dholak11.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (dk11.isPlaying()) {
dk11.pause();
dholak11.setBackgroundResource(R.drawable.dholak);
} else {
dk11.start();
dholak11.setBackgroundResource(R.drawable.dholakp);
dk11.setLooping(true);
}
}
});
dholak12.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (dk12.isPlaying()) {
dk12.pause();
dholak12.setBackgroundResource(R.drawable.dholak);
} else {
dk12.start();
dholak12.setBackgroundResource(R.drawable.dholakp);
dk12.setLooping(true);
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.id_about) {
Intent intentabout = new Intent(MainActivity.this, About.class);
startActivity(intentabout);
return true;
}
if (id == R.id.id_contact)
{
Intent intentabout = new Intent(MainActivity.this, Contact.class);
startActivity(intentabout);
return true;
}
if (id == R.id.id_otherapps) {
return true;
}
return true;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.id_about) {
Intent intentabout = new Intent(MainActivity.this, About.class);
startActivity(intentabout);
return true;
}
if (id == R.id.id_contact)
{
Intent intentabout = new Intent(MainActivity.this, Contact.class);
startActivity(intentabout);
return true;
}
if (id == R.id.id_otherapps) {
return true;
}
return true;
}
}
Voici le journal de LogCat:
--------- beginning of crash
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at com.jobyreuben.dholakloops.MainActivity.onCreate(MainActivity.java:149)
at android.app.Activity.performCreate(Activity.java:6679)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Qu'est-ce que la ligne n ° 118 dans 'MainActivity.java'? – Lal
vous avez manqué le numéro '4' –
dholak 04 ensemble sur un clic d'écoute –