Java tutorial
package com.gbozza.android.stockhawk.ui; /* * Copyright (C) 2016 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import android.annotation.SuppressLint; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; import android.support.v4.app.DialogFragment; import android.support.v4.app.FragmentManager; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.widget.EditText; import android.widget.TextView; import com.gbozza.android.stockhawk.R; import butterknife.BindView; import butterknife.ButterKnife; /** * The fragment extending the Dialog popup, used to add stocks to the list */ public class AddStockDialog extends DialogFragment { @SuppressWarnings("WeakerAccess") @BindView(R.id.dialog_stock) EditText stock; @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); LayoutInflater inflater = LayoutInflater.from(getActivity()); @SuppressLint("InflateParams") View custom = inflater.inflate(R.layout.add_stock_dialog, null); ButterKnife.bind(this, custom); stock.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { addStock(); return true; } }); builder.setView(custom); builder.setMessage(getString(R.string.dialog_title)); builder.setPositiveButton(getString(R.string.dialog_add), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { addStock(); } }); builder.setNegativeButton(getString(R.string.dialog_cancel), null); Dialog dialog = builder.create(); Window window = dialog.getWindow(); if (window != null) { window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE); } return dialog; } /** * Shorthand method to invoke the add Stock procedure */ private void addStock() { FragmentManager fm = getActivity().getSupportFragmentManager(); StockFragment stockFragment = (StockFragment) fm.findFragmentById(R.id.fragment_stocks); stockFragment.addStock(stock.getText().toString()); dismissAllowingStateLoss(); } }