Marc
- Forum-Beiträge: 13
27.04.2013, 19:49:03 via Website
27.04.2013 19:49:03 via Website
Hi Leute, ich möchte gern einen gesprochenen Text in eine ListView packen und darstellen lassen. Also man sagt zB "Hallo wie geht es euch" und danach sollen 5 "Listeneinträge" dargestellt werden:
Hallo
wie
geht
es
euch
sodass man danach diese Einträge auswählen könnte. Ich habe es geschafft, die gesprochenen Wörter in ein StringArray zu packen und nun möchte ich diese Arrayfelder als ListView darstellen. Leider funktioniert es nicht und ich weiß nicht warum. Erkennt ihr einen Fehler?Wenn ich die Wörter nacheinander in ein TextView packe, funktioniert es. Also es liegt irgendwie am ListView.
Danke
Hier der Code der Activity:
Hallo
wie
geht
es
euch
sodass man danach diese Einträge auswählen könnte. Ich habe es geschafft, die gesprochenen Wörter in ein StringArray zu packen und nun möchte ich diese Arrayfelder als ListView darstellen. Leider funktioniert es nicht und ich weiß nicht warum. Erkennt ihr einen Fehler?Wenn ich die Wörter nacheinander in ein TextView packe, funktioniert es. Also es liegt irgendwie am ListView.
Danke
Hier der Code der Activity:
1*imports etc.
2
3public class MainActivity extends Activity {
4 protected static final int RESULT_SPEECH = 1;
5 private ImageButton btnSpeak;
6 private TextView txtText;
7 private ListView listview;
8 ArrayList<String> values = new ArrayList<String>();
9
10 public void onCreate(Bundle savedInstanceState) {
11 super.onCreate(savedInstanceState);
12 setContentView(R.layout.activity_main);
13 txtText = (TextView) findViewById(R.id.txtText);
14 ListAdapter adapter = new ArrayAdapter<String>(getApplicationContext(),
15 android.R.layout.simple_list_item_1, values);
16 final ListView listview = (ListView) findViewById(R.id.listview);
17 listview.setAdapter(adapter);
18 btnSpeak = (ImageButton) findViewById(R.id.btnSpeak);
19 btnSpeak.setOnClickListener(new View.OnClickListener() {
20 public void onClick(View v) {
21 Intent intent = new Intent(
22 RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
23 intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, "en-US");
24 try {
25 startActivityForResult(intent, RESULT_SPEECH);
26 txtText.setText("");
27 } catch (ActivityNotFoundException a) {
28 Toast t = Toast.makeText(getApplicationContext(),
29 "Ops! Your device doesn't support Speech to Text",
30 Toast.LENGTH_SHORT);
31 t.show();
32 }
33 }
34 });
35 }
36
37 public boolean onCreateOptionsMenu(Menu menu) {
38 getMenuInflater().inflate(R.menu.activity_main, menu);
39 return true;
40 }
41
42 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
43 super.onActivityResult(requestCode, resultCode, data);
44 switch (requestCode) {
45 case RESULT_SPEECH: {
46 if (resultCode == RESULT_OK && null != data) {
47
48 ArrayList<String> text = data
49 .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
50 String[] separate = text.get(0).split(" ");
51 for (String word : separate) {
52 values.add(word);
53 }
54 }
55 break;
56 }
57 }
58 }
59}
2
3public class MainActivity extends Activity {
4 protected static final int RESULT_SPEECH = 1;
5 private ImageButton btnSpeak;
6 private TextView txtText;
7 private ListView listview;
8 ArrayList<String> values = new ArrayList<String>();
9
10 public void onCreate(Bundle savedInstanceState) {
11 super.onCreate(savedInstanceState);
12 setContentView(R.layout.activity_main);
13 txtText = (TextView) findViewById(R.id.txtText);
14 ListAdapter adapter = new ArrayAdapter<String>(getApplicationContext(),
15 android.R.layout.simple_list_item_1, values);
16 final ListView listview = (ListView) findViewById(R.id.listview);
17 listview.setAdapter(adapter);
18 btnSpeak = (ImageButton) findViewById(R.id.btnSpeak);
19 btnSpeak.setOnClickListener(new View.OnClickListener() {
20 public void onClick(View v) {
21 Intent intent = new Intent(
22 RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
23 intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, "en-US");
24 try {
25 startActivityForResult(intent, RESULT_SPEECH);
26 txtText.setText("");
27 } catch (ActivityNotFoundException a) {
28 Toast t = Toast.makeText(getApplicationContext(),
29 "Ops! Your device doesn't support Speech to Text",
30 Toast.LENGTH_SHORT);
31 t.show();
32 }
33 }
34 });
35 }
36
37 public boolean onCreateOptionsMenu(Menu menu) {
38 getMenuInflater().inflate(R.menu.activity_main, menu);
39 return true;
40 }
41
42 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
43 super.onActivityResult(requestCode, resultCode, data);
44 switch (requestCode) {
45 case RESULT_SPEECH: {
46 if (resultCode == RESULT_OK && null != data) {
47
48 ArrayList<String> text = data
49 .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
50 String[] separate = text.get(0).split(" ");
51 for (String word : separate) {
52 values.add(word);
53 }
54 }
55 break;
56 }
57 }
58 }
59}
— geändert am 28.04.2013, 10:43:09
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.