NotePad Project (10) End
Note Pad Project (10) End
===============
ListView item long click လုပ္ရင္ သက္ဆိုင္ရာ ဖိုင္ကို confirm dialog ခံၿပီး delete လုပ္ဖို႔ ျဖစ္ပါတယ္။
File ကို delete လုပ္ၿပီးရင္ ListView ကို အသစ္ျပန္ တည္ေဆာက္ရပါမယ္။
=========
File f=new File(getFilesDir(),fname);
try{
f.delete();
}catch (Exception e){}
FillListView();
=========
AlertDialog နဲ႔ တကယ္ delete လုပ္မွာလား ေမးမယ္။ Yes ဆိုရင္ delete လုပ္ပါမယ္။ File delete လုပ္ဖို႔ method တခု ေရးပါမယ္။
=========
private void DeleteFile(final String fname){
AlertDialog ad=new AlertDialog.Builder(this).create();
ad.setTitle("Delete Note");
ad.setMessage("Do you really want to delete "+fname+"?");
ad.setButton(
AlertDialog.BUTTON_NEGATIVE,
"No",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface p1, int p2)
{
// TODO: Implement this method
p1.cancel();
}
});
ad.setButton(
AlertDialog.BUTTON_POSITIVE,
"Yes",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface p1, int p2)
{
File f=new File(getFilesDir(),fname);
try{
f.delete();
}catch (Exception e){}
FillListView();
}
});
ad.show();
}
========
ListView onItemLongClick(...) method ထဲမွာ ဒီလို ေရးပါ။
========
DeleteFile(files[p3]);
return true;
=========
return true; က item click event ဆက္မ၀င္ေအာင္ ျဖစ္ပါတယ္။
=========
MainActivity.java code အျပည့္အစံု
=========
package nnl.aide.lessons;
import android.app.*;
import android.os.*;
import android.widget.*;
import android.graphics.drawable.*;
import android.graphics.*;
import android.view.*;
import android.content.*;
import android.widget.AdapterView.*;
import java.io.*;
public class MainActivity extends Activity
{
ListView lv;
String[] files;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lv=(ListView)findViewById(R.id.lv);
ActionBar ab=getActionBar();
ab.setBackgroundDrawable(new ColorDrawable(
Color.rgb(255,100,0)));
}
@Override
protected void onResume()
{
FillListView();
super.onResume();
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
menu.add("Add")
.setIcon(R.drawable.add)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
if(item.getTitle()=="Add"){
AddNewNote();
}
return super.onOptionsItemSelected(item);
}
private void AddNewNote(){
final AlertDialog ad;
AlertDialog.Builder adb;
View v=getLayoutInflater().inflate(
R.layout.custom,null);
final EditText etnew=(EditText)v.findViewById(R.id.etnew);
adb=new AlertDialog.Builder(this);
adb.setTitle( "Add new note" );
adb.setMessage("Enter note name:");
adb.setView(v);
ad=adb.create();
ad.setButton( AlertDialog.BUTTON_NEUTRAL, "Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface
p1, int p2) {
p1.cancel();
}
});
ad.setButton( AlertDialog.BUTTON_POSITIVE, "Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface p1, int p2) {
Intent intent=new Intent(MainActivity.this,
NoteActivity.class);
String fname=etnew.getText().toString();
p1.cancel();
intent.putExtra("filename",fname);
startActivity(intent);
}
});
ad.show();
}
private void FillListView(){
files=getFilesDir().list();
ArrayAdapter<String> adapter=new ArrayAdapter<String>(
this,android.R.layout.simple_list_item_1,files);
lv.setAdapter(adapter);
lv.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> p1, View p2, int p3, long p4)
{
Intent intent=new Intent(MainActivity.this,
NoteActivity.class);
String fname=files[p3];
intent.putExtra("filename",fname);
startActivity(intent);
}
});
lv.setOnItemLongClickListener(new OnItemLongClickListener(){
@Override
public boolean onItemLongClick(AdapterView<?> p1, View p2, int p3, long p4)
{
DeleteFile(files[p3]);
return true;
}
});
}
private void DeleteFile(final String fname){
AlertDialog ad=new AlertDialog.Builder(this).create();
ad.setTitle("Delete Note");
ad.setMessage("Do you really want to delete "+fname+"?");
ad.setButton(
AlertDialog.BUTTON_NEGATIVE,
"No",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface p1, int p2)
{
// TODO: Implement this method
p1.cancel();
}
});
ad.setButton(
AlertDialog.BUTTON_POSITIVE,
"Yes",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface p1, int p2)
{
File f=new File(getFilesDir(),fname);
try{
f.delete();
}catch (Exception e){}
FillListView();
}
});
ad.show();
}
}
=========
ၿပီးပါၿပီ။
:)
#nnl
AIDE Android Lessons And Project Group
ဆရာ Nyi Nyi Lwin Post မွ ကူးယူတင္ထားပါသည္
#Credit ဆရာ Nyi Nyi Lwin
Comments
Post a Comment
Thank,s for ...