Note that there are some explanatory texts on larger screens.

plurals
  1. POAndroid OnActivityResult setVisibility
    primarykey
    data
    text
    <p>I have two buttons with in the same activity. Each buttons calls the recognizerIntent to do some speech recognition. What Im trying to accomplish if have the microphone Icons Image1 and Image2 be made invisible or gone if the correct word is spoken.</p> <pre><code>public class Cooking extends Activity implements OnClickListener{ ListView lv; static final int check = 1; static final int checka = 2; int counter_score; int counter_score_b; TextView txView; MediaPlayer ourSong; ImageView display,image1,image2; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); counter_score=0; counter_score_b=0; setContentView(R.layout.cooking); ImageView image1 = (ImageView) findViewById(R.id.image_1_wrong); ImageView image2 = (ImageView) findViewById(R.id.image_2_wrong); initialize(); } private void initialize() { // TODO Auto-generated method stub lv = (ListView)findViewById(R.id.lvVoiceReturn); txView = (TextView)findViewById(R.id.counter); ImageView image1 = (ImageView) findViewById(R.id.image_1_wrong); ImageView image2 = (ImageView) findViewById(R.id.image_2_wrong); image1.setOnClickListener(this); image2.setOnClickListener(this); ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(false); } @Override public void onClick(View v) { if(v.getId() == R.id.IVimage_1_wrong){ Intent a = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); a.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); a.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 1); a.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speak"); startActivityForResult(a, checka); }else if(v.getId() == R.id.IVimage_2_wrong){ Intent b = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); b.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); b.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 1); b.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speak."); startActivityForResult(b, checkb); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub if (requestCode == checka &amp;&amp; resultCode == RESULT_OK){ ArrayList&lt;String&gt; results = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); lv.setAdapter(new ArrayAdapter&lt;String&gt;(this, android.R.layout.simple_list_item_1, results)); if(results.contains("cooking")|| results.contains("yes really") || results.contains("disease")){ counter_score ++; ///////I though this would make ImageView Image1 not be visible image1.setVisibility(View.GONE);} ourSong = MediaPlayer.create(Cooking.this, R.raw.rightsound2); ourSong.start(); AlertDialog dialogBuilder = new AlertDialog.Builder(this).create(); dialogBuilder.setTitle("Good");dialogBuilder.setMessage("Correct"); dialogBuilder.setIcon(R.drawable.ic_mark); dialogBuilder.show(); Thread timer = new Thread(){ public void run(){ try{ sleep(2500); }catch (InterruptedException e){ e.printStackTrace(); } finally { } } }; timer.start(); }else{ lv.setAdapter(new ArrayAdapter&lt;String&gt;(this, android.R.layout.simple_list_item_1, results)); counter_score +=0; counter_score_z +=0; ourSong = MediaPlayer.create(Cooking.this, R.raw.wrongsound); ourSong.start(); AlertDialog dialogBuilder = new AlertDialog.Builder(this).create(); dialogBuilder.setTitle("Oops"); dialogBuilder.setMessage("Error msg"); dialogBuilder.setIcon(R.drawable.ic_wrong); dialogBuilder.setButton("Continue", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Intent openMovilTeacherApp = new Intent(Cooking.this, LetterEx.class); startActivity(openMovilTeacherApp); finish(); } }); dialogBuilder.setButton2("Try again", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub dialog.dismiss(); } }); dialogBuilder.show(); Thread timer = new Thread(){ public void run(){ try{ sleep(4000); }catch (InterruptedException e){ e.printStackTrace(); } finally { } } }; timer.start(); } } //////Delivering MAIL///// if (requestCode == checkb &amp;&amp; resultCode == RESULT_OK){ ArrayList&lt;String&gt; results = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); lv.setAdapter(new ArrayAdapter&lt;String&gt;(this, android.R.layout.simple_list_item_1, results)); if(results.contains("delivering mail")|| results.contains("no not really") || results.contains("disease")){ counter_score ++ ; ///////// the next line was supposed to make the image2 no be visible, or gone image2.setVisibility(View.GONE);} counter_score_z +=1; ourSong = MediaPlayer.create(Cooking.this, R.raw.rightsound2); ourSong.start(); AlertDialog dialogBuilder = new AlertDialog.Builder(this).create(); dialogBuilder.setTitle("Good");dialogBuilder.setMessage("Correct"); dialogBuilder.setIcon(R.drawable.ic_mark); dialogBuilder.show(); Thread timer = new Thread(){ public void run(){ try{ sleep(2500); }catch (InterruptedException e){ e.printStackTrace(); } finally { Intent nextAct2 = new Intent(Cooking.this, LetterEx.class); startActivity(nextAct2); finish(); } } }; timer.start(); }else{ lv.setAdapter(new ArrayAdapter&lt;String&gt;(this, android.R.layout.simple_list_item_1, results)); counter_score +=0; txView.setId(0); counter_score_z +=0; ourSong = MediaPlayer.create(Cooking.this, R.raw.wrongsound); ourSong.start(); AlertDialog dialogBuilder = new AlertDialog.Builder(this).create(); dialogBuilder.setTitle("Oops,"); dialogBuilder.setMessage("Error Msg"); dialogBuilder.setIcon(R.drawable.ic_wrong); dialogBuilder.setButton("Continuar", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Intent openMovilTeacherApp = new Intent(Cooking.this, LetterEx.class); startActivity(openMovilTeacherApp); finish(); } }); dialogBuilder.setButton2("Try again", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub dialog.dismiss(); } }); dialogBuilder.show(); Thread timer = new Thread(){ public void run(){ try{ sleep(4000); }catch (InterruptedException e){ e.printStackTrace(); } finally { } } }; timer.start(); } } super.onActivityResult(requestCode, resultCode, data); } } </code></pre> <p>My cooking.xml</p> <pre><code>&lt;ImageView android:src="@drawable/small_right_blue_mic" android:id="@+id/image_1_wrong" android:layout_width="68dp" android:layout_height="68dp" android:layout_marginLeft="-150dp" android:layout_marginTop="15dp" android:visibility="invisible"/&gt; &lt;ImageView android:src="@drawable/small_right_blue_mic" android:id="@+id/image_2_wrong" android:layout_width="52dp" android:layout_height="59dp" android:layout_marginLeft="-0dp" android:layout_marginTop="25dp" android:visibility="visible"/&gt; </code></pre> <p>Error log</p> <pre><code>08-29 17:15:54.600: E/AndroidRuntime(1953): FATAL EXCEPTION: main 08-29 17:15:54.600: E/AndroidRuntime(1953): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=222, result=-1, data=Intent { (has extras) }} to activity {com.testapp.app/com.testapp.app.Cooking}: java.lang.NullPointerException </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload