package com.example.memo;
import java.io.File;
import java.io.FilenameFilter;
import java.util.*;
import android.app.Activity;
import android.content.*;
import android.os.Bundle;
import android.os.Environment;
import android.widget.*;
import android.widget.AdapterView.OnItemClickListener;
import android.view.*;
public class MainActivity extends Activity {
private static final int EDIT_ACT = 0;
ListView listview;
ArrayList<String> list1, list2, list3;
ArrayAdapter<String> adapter;
Intent intent;
class Memo implements FilenameFilter{
@Override
public boolean accept(File dir, String filename) {
return (filename.endsWith(".txt"));
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("메모장");
list1 = new ArrayList<String>();
list2 = new ArrayList<String>();
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list1); // 리스트에 내용 저장
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list2); // 리스트에 제목 저장
ReadSDCard(); // 리스트뷰에 파일목록 뿌려줌
listview=(ListView) findViewById(R.id.list);
listview.setAdapter(adapter);
listview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// TODO Auto-generated method stub
intent = new Intent(MainActivity.this, Sub2_MainActivity.class); // 현재 엑티비티에서 su2로 이동
intent.putExtra("data", list1.get(position)); // su2에 내용 뿌려주기
intent.putExtra("str", list2.get(position)); // su2에 제목 뿌려주기
startActivity(intent);
}
});
}
public void onClick(View v){
switch(v.getId()) {
case R.id.btn_addition:
Toast.makeText(this, "기록 해주세요.", Toast.LENGTH_SHORT).show();
intent = new Intent(this, Sub1_MainActivity.class);
startActivityForResult(intent, 0);
break;
case R.id.btn_del:
Toast.makeText(this, "소스 없습니다.", Toast.LENGTH_SHORT).show();
break;
case R.id.btn_exit1:
finish();
break;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, 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);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch(requestCode){
case EDIT_ACT:
if(resultCode == RESULT_OK) {
list1.add(data.getStringExtra("TextIn1").toString()); // 키를 받아 메모내용 불러옴
list2.add(data.getStringExtra("TextIn2").toString()); // 키를 받아 제목 불러옴
adapter.notifyDataSetChanged(); // 업데이트 알림
super.onActivityResult(requestCode, resultCode, data);
}else if(resultCode == RESULT_CANCELED) {
}
break;
}
}
public void ReadSDCard() {
String path = null;
String ext = Environment.getExternalStorageState();
if(ext.equals(Environment.MEDIA_MOUNTED)) {
path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/My Memo/";
}
else
{
path = Environment.MEDIA_UNMOUNTED;
}
File file1 = new File(path);
File file2 = new File(path);
for(File f : file1.listFiles())
{
list2.add(f.getName());
list1.add(f.getName());
}
}
}
제가 하고싶은건 메인액티비티에서 리스트뷰에 파일목록 터치하면 su2로 이동하면서 작성햇던 내용을 모두 뿌려주고싶은데요...
문제는 public void ReadSDCard() 이거 때문에 제목 보여주고 내용도 제목 뿌려주네요..
list1.add(f.getName()); 없애면 중지 뜹니다.
어떻게하면 따로따로 제목은 제목 내용은 내용으로 보낼수없나요?
public void ReadSDCard() 이거 없으면 정상적으로 다 출력됩니다.
어떻게해야 제목과 내용을 다뿌려주게 할 수 없을까요?