NotePad Project (7)

















Note Pad Project (7)
================

အခု ဆက္ၿပီး Notes ေတြကို ListView မွာ ျပဖို႔ ေရးၾကမယ္။ Note name ေတြဟာ တကယ္ေတာ့ Internal storage ထဲက file name ေတြ ျဖစ္ပါတယ္။ အဲဒီ file name ေတြကို files ဆိုတဲ့ String[] တခုနဲ႔ သိမ္းပါမယ္။ Internal Strorage ထဲမွာ ရွိတဲ့ ဖိုင္အမည္စာရင္း ရေအာင္ ဒီလို ေရးပါတယ္။

String[] files=getFilesDir().list();

အဲဒီ String[] နဲ႔ ListView ကို ျဖည့္မွာပါ။

List item တခုကို click လိုက္ရင္ အဲဒီ file name (note name) ကို intent မွာ သယ္ေဆာင္ၿပီး NoteActivity ကို ဖြင့္မွာ ျဖစ္ပါတယ္။ (Long click ႏွိပ္ရင္ confirmation dialog တခုခံၿပီး အဲဒီ ဖိုင္ကို delete လုပ္ပါမယ္။ ဒါကို ေနာက္ post က်မွ ေရးမယ္။ )

ListView ျဖည့္တာကို onResume() method မွာ လုပ္ထားပါတယ္။ အေၾကာင္းရင္းကို ေနာက္ပိုင္း သိလာပါလိမ့္မယ္။ NoteActivity ပိတ္သြားၿပီး MainActivity ကို ေရာက္လာတာက onResume() event ျဖစ္ပါတယ္။

============

MainActivity.java
============
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.*;

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)
{
// TODO: Implement this method
return false;
}
});
}
}

============

#nnl


AIDE Android Lessons And Project Group
ဆရာ Nyi Nyi Lwin Post မွ ကူးယူတင္ထားပါသည္

#Credit ဆရာ Nyi Nyi Lwin


Comments

Popular posts from this blog

♡ မဂၤလာခြန္းဆက္ ♡

《《 ဝမ္းနည္းပါေၾကာင္း 》》