onCreate内でEditTextが長押しされた際に予測変換機能EditText付きのダイアログを作成したいのですがエラーが出てしまいます。
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.AutoCompleteTextView.setAdapter(android.widget.ListAdapter)' on a null object reference
とエラーが表示されるのですが何故このようなエラーがでるか分かりません。
解決策をご教授をお願いします。
ダイアログ内dialog_edittextでなくmainのAutoCompleteTextViewでは問題 なく動きますのでたぶんR.id.dialog_edittextがうまく取得出来てないのだと思います。
EditText editNaiyo = (EditText) findViewById(R.id.n_naiyo);
//ボタンがロングタッチされたときの処理 editNaiyo.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { LayoutInflater factory = LayoutInflater.from(MainActivity.this); final View inputView = factory.inflate(R.layout.input_dailog, null); // ダイアログの作成(AlertDialog.Builder) new AlertDialog.Builder(MainActivity.this) .setIcon(android.R.drawable.ic_dialog_alert) .setTitle("テスト") .setView(inputView) .setPositiveButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { } }) .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { // キャンセル処理 } }).create().show(); //EditText edit = (EditText) inputView.findViewById(R.id.dialog_edittext); helper = new DBOpenHelper(MainActivity.this);// DB作成 SQLiteDatabase database = helper.getWritableDatabase(); AutoCompleteTextView inputTextView = (AutoCompleteTextView) findViewById(R.id.dialog_edittext); Cursor cursor = database.query(DB_TABLE, new String[]{"rowid as _id", "name"}, null,null , null, null, null); CursorAdapter adapter2 = new SimpleCursorAdapter(MainActivity.this, android.R.layout.simple_spinner_item, cursor, new String[]{"name"}, new int[]{android.R.id.text1}, 0); inputTextView.setAdapter(adapter); return false; } });
input_dailog.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/dialog_textview"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:layout_marginLeft="10dip" android:layout_marginRight="10dip"
android:text="テスト"
android:gravity="left"
android:textAppearance="?android:attr/textAppearanceLarge" />
<AutoCompleteTextView
android:id="@+id/dialog_edittext"
android:layout_height="wrap_content" android:layout_width="match_parent"
android:layout_marginLeft="10dip" android:layout_marginRight="10dip"
android:scrollHorizontally="true"
android:autoText="false"
android:capitalize="none"
android:gravity="fill_horizontal"
android:text="AutoCompleteTextView"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/21 14:37