I am trying to implement voice recognition code in Android. How do I get an element at a particular position from array list in Android? I tried converting arraylist
to array
and retriving. Still the code is not working.
package com.espeaker;
public class EspeakerActivity extends Activity {
private static final int REQUEST_CODE = 1234;
private ListView wordsList;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button speakButton = (Button) findViewById(R.id.speakButton);
wordsList = (ListView) findViewById(R.id.list);
// Disable button if no recognition service is present
PackageManager pm = getPackageManager();
List<ResolveInfo> activities = pm.queryIntentActivities(
new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);
if (activities.size() == 0)
{
speakButton.setEnabled(false);
speakButton.setText("Recognizer not present");
}
}
/**
* Handle the action of the button being clicked
*/
public void speakButtonClicked(View v)
{
startVoiceRecognitionActivity();
}
/**
* Fire an intent to start the voice recognition activity.
*/
private void startVoiceRecognitionActivity()
{
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Voice recognition Demo...");
startActivityForResult(intent, REQUEST_CODE);
}
/**
* Handle the results from the voice recognition activity.
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK)
{
// Populate the wordsList with the String values the recognition engine thought it heard
ArrayList<String> matches = data.getStringArrayListExtra(
RecognizerIntent.EXTRA_RESULTS);
wordsList.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,
matches));
String[] array=matches.toArray(new String[matches.size()]);
// ArrayList<String> places = new ArrayList<String>(
// Arrays.asList("black", "blue", "red"));
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item,matches);
final AutoCompleteTextView input_text = (AutoCompleteTextView) findViewById(R.id.auto);
Button button1 = (Button) findViewById(R.id.button1);
input_text.setAdapter(adapter);
button1.setText(" "+array[0]);
// button1.setText(""+matches);
}
super.onActivityResult(requestCode, resultCode, data);
}
}
The get() method of ArrayList in Java is used to get the element of a specified index within the list. Parameter: Index of the elements to be returned. It is of data-type int. Return Type: The element at the specified index in the given list.
The index of a particular element in an ArrayList can be obtained by using the method java. util. ArrayList. indexOf().
↳ java.util.ArrayList<E> Resizable-array implementation of the List interface. Implements all optional list operations, and permits all elements, including null. In addition to implementing the List interface, this class provides methods to manipulate the size of the array that is used internally to store the list.
Return an ArrayList From a Non-Static Function in Java This function is non-static, so an object of the class will be needed to invoke it. In the following code, we create such a function. The function myNumbers() is not static. So, we need to create an instance of ClassB in ClassA .
Maybe the following helps you.
arraylistname.get(position);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With