Created
September 8, 2014 18:32
-
-
Save Motoharujap/746c2ab649a429719eab to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.example.motoharu.shoplist; | |
import android.app.*; | |
import android.content.*; | |
import android.os.*; | |
import android.view.*; | |
public class AlertEdit extends DialogFragment { | |
@Override | |
public Dialog onCreateDialog(Bundle savedInstanceState) { | |
AlertDialog.Builder bd = new AlertDialog.Builder(getActivity()); | |
LayoutInflater inflater = getActivity().getLayoutInflater(); | |
bd.setView(inflater.inflate(R.layout.alert, null)) | |
.setTitle("Edit") | |
.setPositiveButton(R.string.save, new DialogInterface.OnClickListener() { | |
@Override | |
public void onClick(DialogInterface dialog, int which) { | |
((MyActivity)getActivity()).doPositiveClick(); | |
} | |
}) | |
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { | |
@Override | |
public void onClick(DialogInterface dialog, int which) { | |
((MyActivity)getActivity()).doNegativeClick(); | |
} | |
}); | |
return bd.create(); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import android.app.Activity; | |
import android.app.AlertDialog; | |
import android.app.DialogFragment; | |
import android.app.FragmentManager; | |
import android.app.Notification; | |
import android.content.DialogInterface; | |
import android.net.wifi.p2p.WifiP2pManager; | |
import android.os.Bundle; | |
import android.view.ContextMenu; | |
import android.view.KeyEvent; | |
import android.view.LayoutInflater; | |
import android.view.Menu; | |
import android.view.MenuItem; | |
import android.view.View; | |
import android.widget.AdapterView; | |
import android.widget.ArrayAdapter; | |
import android.widget.Button; | |
import android.widget.EditText; | |
import android.widget.ListView; | |
import android.widget.TextView; | |
import android.widget.AdapterView.OnItemClickListener; | |
import java.util.ArrayList; | |
public class MyActivity extends Activity { | |
public static ArrayList<String> goods; | |
public ListView lw; | |
public EditText edtxt; | |
private int position; | |
public AdapterView.AdapterContextMenuInfo info; | |
ArrayAdapter<String> adapter; | |
public static EditText alertEd; | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_my); | |
lw = (ListView) findViewById(R.id.listView); | |
edtxt = (EditText) findViewById(R.id.editText); | |
alertEd = (EditText) findViewById(R.id.alertEdit); | |
goods = new ArrayList<String>(); | |
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, goods); | |
lw.setAdapter(adapter); | |
lw.setOnItemClickListener(new OnItemClickListener() { | |
public void onItemClick(AdapterView<?> adapter, View v, | |
int position, long id) { | |
} | |
}); | |
registerForContextMenu(lw); | |
edtxt.setOnKeyListener(new View.OnKeyListener() { | |
@Override | |
public boolean onKey(View v, int keyCode, KeyEvent event) { | |
if (event.getAction()== KeyEvent.ACTION_DOWN) { | |
if (keyCode == KeyEvent.KEYCODE_ENTER) { | |
goods.add(0, edtxt.getText().toString()); | |
adapter.notifyDataSetChanged(); | |
edtxt.setText(""); | |
return true; | |
} | |
} | |
return false; | |
} | |
}); | |
} | |
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo info){ | |
super.onCreateContextMenu(menu, v, info); | |
getMenuInflater().inflate(R.menu.actions, menu); | |
} | |
public boolean onContextItemSelected(MenuItem item) { | |
position = (int) info.id; | |
switch (item.getItemId()) { | |
case R.id.cnt_mnu_delete: | |
goods.remove(position); | |
adapter.notifyDataSetChanged(); | |
return true; | |
case R.id.cnt_mnu_edit: | |
this.showDialog(); | |
/* AlertDialog.Builder alert = new AlertDialog.Builder(this); | |
// Set an EditText view to get user input | |
final EditText input = new EditText(this); | |
alert.setTitle("Edit"); | |
alert.setMessage("Change an item"); | |
alert.setView(input); | |
alert.setPositiveButton("Save", new DialogInterface.OnClickListener() { | |
public void onClick(DialogInterface dialog, int whichButton) { | |
String value = input.getText().toString(); | |
goods.set(position, value); | |
adapter.notifyDataSetChanged(); | |
// Do something with value! | |
} | |
}); | |
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { | |
public void onClick(DialogInterface dialog, int whichButton) { | |
dialog.cancel(); | |
} | |
}); | |
alert.show(); | |
*/ | |
} | |
return super.onContextItemSelected(item); | |
} | |
@Override | |
public boolean onCreateOptionsMenu(Menu menu) { | |
// Inflate the menu; this adds items to the action bar if it is present. | |
getMenuInflater().inflate(R.menu.my, menu); | |
return true; | |
} | |
@Override | |
public boolean onOptionsItemSelected(MenuItem item) { | |
// Handle action bar item clicks here. The action bar will | |
// automatically handle clicks on the Home/Up button, so long | |
// as you specify a parent activity in AndroidManifest.xml. | |
int id = item.getItemId(); | |
if (id == R.id.action_settings) { | |
return true; | |
} | |
return super.onOptionsItemSelected(item); | |
} | |
public void doPositiveClick() | |
{ | |
info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); | |
position = (int)info.id; | |
final EditText input = new EditText(this); | |
String value = input.getText().toString(); | |
goods.set(position, value); | |
adapter.notifyDataSetChanged(); | |
} | |
public void doNegativeClick() | |
{ | |
} | |
public void showDialog() | |
{ | |
DialogFragment frag = new AlertEdit(); | |
frag.show(getFragmentManager(), "edit"); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment