안드로이드 개발 질문/답변
(글 수 45,052)
음성입력을 하는 버튼을 따로 만들었는데 실행이 되질 않습니다.
터치이벤트를 받아서 정답입력하는 대화상자를 하나띄웁니다. 거기에 음성으로 입력받아
EditText에 setText 할려고 하는데 잘 되질 않습니다.
public void alertDialog(final int num, final Context context, final boolean w, final boolean h)
{
linear = (LinearLayout) View.inflate(context, R.layout.textview, null);
input = (EditText) linear.findViewById(R.id.input);// 입력받은 값
h_hint = (TextView) linear.findViewById(R.id.h_ex_view);
w_hint = (TextView) linear.findViewById(R.id.w_ex_view);
speakButton = (Button) linear.findViewById(R.id.speakBu);
hint(num);
speakButton.setOnClickListener(mClickListener2);
new AlertDialog.Builder(context)
.setTitle("정답 입력창 입니다.")
.setView(linear)
.setPositiveButton("확인", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int whichButton)
{
box01 = (RadioButton) linear.findViewById(R.id.box01);
box02 = (RadioButton) linear.findViewById(R.id.box02);
boolean w = box01.isChecked();
boolean h = box02.isChecked();
string = input.getText().toString();
answer = string.toCharArray();
settext(num, answer, string, w, h, context);
}
}).setNegativeButton("취소", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int whichButton)
{
}
}).show();
}
Button.OnClickListener mClickListener2 = new Button.OnClickListener()
{
public void onClick(View v)
{
if (v.getId() == R.id.speakBu)
{
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Free Form Language Model Demo");
startActivityForResult(intent, REQUEST_CODE);//여기가 634번째입니다.
}
}
};
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
// TODO Auto-generated method stub
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK)
{
ArrayList<String> matches = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
String use[] = (String[]) matches.toArray(new String[matches.size()]);
input.setText(use[0]);
}
super.onActivityResult(requestCode, resultCode, data);
}
11-18 19:29:40.182: ERROR/AndroidRuntime(4511): Uncaught handler: thread main exiting due to uncaught exception
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): java.lang.NullPointerException
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at android.app.Activity.startActivityForResult(Activity.java:2749)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at cic.ulsan.ac.kr.kcrossword.Alert$1.onClick(Alert.java:634)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at android.view.View.performClick(View.java:2370)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at android.view.View.onTouchEvent(View.java:4185)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at android.widget.TextView.onTouchEvent(TextView.java:6625)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at android.view.View.dispatchTouchEvent(View.java:3715)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:883)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:883)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:883)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:883)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:883)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:883)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1700)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1111)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at android.app.Dialog.dispatchTouchEvent(Dialog.java:643)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1684)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at android.view.ViewRoot.handleMessage(ViewRoot.java:1701)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at android.os.Handler.dispatchMessage(Handler.java:99)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at android.os.Looper.loop(Looper.java:123)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at android.app.ActivityThread.main(ActivityThread.java:4364)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at java.lang.reflect.Method.invokeNative(Native Method)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at java.lang.reflect.Method.invoke(Method.java:521)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
11-18 19:29:40.190: ERROR/AndroidRuntime(4511): at dalvik.system.NativeStart.main(Native Method)