0

모든 행을 읽고 목록보기에 삽입하려는 "Todo.txt"파일이 있습니다. listview 같은 항목을 얻는 것 및 문제를 어떻게 파일을 읽는 것 같습니다. 어떤 제안?조각의 파일을 읽고 목록보기에 넣으십시오.

addTodoButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       // Get category of to-do 
       String category = spinner.getSelectedItem().toString(); 

       // Get the to-do text what has to be done 
       String todo_text = editText.getText().toString(); 


       // Try to create inputfile 
       try { 
        FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); 
        fos.write(todo_text.getBytes()); 
        fos.close(); 
       } catch (FileNotFoundException e) { 
        e.printStackTrace(); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
     }); 

답변

0

문제는 내가 cal을하지 못했습니다. l getActivity()을 호출하기 전에 openFileInput()을 호출해야합니다. 왜냐하면 Fragment가 컨텍스트가 아니기 때문입니다!

1

나는 당신이 당신의 조각의 onCreateView()
당신은 선언 한 당신의 ArrayList에서 함수 arrayListSetup()를 호출해야한다고 생각 : 버튼을 클릭하면

public class MainFragment extends Fragment { 
    ArrayList<String> arrayList = new ArrayList<String>(); 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View v = inflater.inflate(R.layout.fragment_main, container, false); 

     // Set title of fragment page 
     TextView textView = (TextView) v.findViewById(R.id.titleTextView); 
     textView.setText(getArguments().getString("fragmentTitle")); 

     ListView listView = (ListView)v.findViewById(R.id.listview); 

     arrayListSetup(); 

     ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
       getActivity(), 
       android.R.layout.simple_list_item_1, 
       arrayList 
     ); 

     listView.setAdapter(arrayAdapter); 

     return v; 
    } 

    private void arrayListSetup(){ 
     StringBuilder stringBuilder = new StringBuilder(); 
     try { 
      BufferedReader br = new BufferedReader(new FileReader(new MainActivity().FILENAME)); 
      String line; 

      // add line to arraylist 
      while((line = br.readLine()) != null){ 
       arrayList.add(line); 
      } 
      // close bufferedreader 
      br.close(); 

     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 

는 MainActivity, 그것은 파일에 할 일 활동을 기록 arraylistsetup() 함수를 호출하여 입력하지 않았습니다. onCreateView()

+0

나는 어떻게 든 그것을 잊었다. 나는 그것을 추가했으나 여전히 효과가 없다. – y4cO

+0

변경된 코드를 업로드 할 수 있습니까? 함수를 호출 한 곳을 표시하려면 –

+0

위 코드를 추가하십시오. "listView"를 작성한 후 – y4cO

관련 문제