2017-10-17 9 views
1

新しい行を作成したい場合は、行を作成する必要がある場合はどこでも\nを挿入する必要があります。しかし、私が得るのは、ファイアベースデータベースにすでにある行がないテキストです。誰かがそれを修正する方法を教えてもらえますか?例えば、もし私がデータベースのhello \ nの世界にいるならば。私はhello worldとしてそれを得る。私が本当にそれを得るべきときfirebaseデータベースからtextviewにデータを取得するときに改行を作成する方法は?

hello 
world 

私はfirebaseまたは私のソースコードで何かを変更する必要がありますか?

これは私がfirebase

private void getData(){ 
     firebaseDatabaseInstance = FirebaseDatabase.getInstance(); 

     // get reference to 'users' node 
     booksInstance = firebaseDatabaseInstance.getReference("monzmat"); 

     books.clear(); 
     books.addAll(db.getAllBookMonzmat()); 
     adapter = new qamoosAdapter(this, books); 
     gridView.setAdapter(adapter); 


     booksInstance.addValueEventListener(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       storeData(dataSnapshot); 
      } 

      @Override 
      public void onCancelled(DatabaseError error) { 
       // Failed to read value 
       Log.w(TAG, "Failed to read value.", error.toException()); 
      } 
     }); 

     booksInstance.orderByChild("id").addChildEventListener(new ChildEventListener() { 
      @Override 
      public void onChildAdded(DataSnapshot dataSnapshot, String s) { 
       qamoosData book = new qamoosData(
         (String) dataSnapshot.child("id").getValue(), 
         (String) dataSnapshot.child("title").getValue(), 
         (String)dataSnapshot.child("content").getValue() 


       ); 
       db.insertMonzmat(book); 
       reloadData(); 
      } 

      @Override 
      public void onChildChanged(DataSnapshot dataSnapshot, String s) { 
       qamoosData book = new qamoosData(
         (String) dataSnapshot.child("id").getValue(), 
         (String) dataSnapshot.child("title").getValue(), 
         (String)dataSnapshot.child("content").getValue() 

       ); 
       db.updateABookMonzmat(book); 
       reloadData(); 
      } 

      @Override 
      public void onChildRemoved(DataSnapshot dataSnapshot) { 
       qamoosData book = new qamoosData(
         (String) dataSnapshot.child("id").getValue(), 
         (String) dataSnapshot.child("title").getValue(), 
         (String)dataSnapshot.child("content").getValue() 
       ); 
       db.deleteABookMonzmat(book.getId()); 
       reloadData(); 
      } 

      @Override 
      public void onChildMoved(DataSnapshot dataSnapshot, String s) { 

      } 

      @Override 
      public void onCancelled(DatabaseError databaseError) { 

      } 
     }); 
    } 




    private void storeData(DataSnapshot snapshot) { 
     books.clear(); 
     for (DataSnapshot alert: snapshot.getChildren()) { 
      qamoosData book = new qamoosData(
        (String)alert.child("id").getValue(), 
        (String)alert.child("title").getValue(), 
        (String)alert.child("content").getValue() 

      ); 
      db.insertMonzmat(book); 
     } 
     books.addAll(db.getAllBookMonzmat()); 
     // Constants.hideDialog(); 

     adapter.notifyDataSetChanged(); 
    } 

からデータを取得する方法これは、あなたが特別な文字列を入れて、データを取得した後、それを置き換えることができ、私のアダプタ

public class qamoosAdapter extends BaseAdapter { 


    Activity activity; 
    ArrayList<qamoosData> arrayList = new ArrayList<>(); 
    ArrayList<qamoosData> filterList = new ArrayList<>(); 

    LayoutInflater mLayoutInflater; 
    DBHandler db; 
    Storage storage; 

    public qamoosAdapter(Activity context, ArrayList<qamoosData> bookDatas){ 
     this.activity = context; 
     this.arrayList = bookDatas; 
     this.db = new DBHandler(context); 
     this.filterList= bookDatas; 
     mLayoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     storage = SimpleStorage.getInternalStorage(context); 
    } 

    @Override 
    public int getCount() { 
     return arrayList.size(); 
    } 

    @Override 
    public Object getItem(int position) { 
     return arrayList.get(position); 
    } 

    @Override 
    public long getItemId(int position) { 
     return position; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     qamoosAdapter.ViewHolder holder = new qamoosAdapter.ViewHolder(); 
     if (convertView == null) { 
      convertView = mLayoutInflater.inflate(R.layout.fragment_qamoos, null); 



      holder.name = (TextView) convertView.findViewById(R.id.bookName2_makotab_fragment); 


      if(holder.name.getText().toString().contains("\n")){ 


      } 

      convertView.setTag(holder); 

     } else { 
      holder = (qamoosAdapter.ViewHolder) convertView.getTag(); 
     } 

     holder.name.setText(arrayList.get(position).getTitle()); 
     return convertView; 
    } 


    public class ViewHolder{ 

     ImageView image; 

     TextView name; 
    } 

} 
+0

あなたはFirebaseにデータと取得するコードを追加するコードを投稿することができますそれ? –

+0

コードを追加してください。 –

+0

私が追加したコードを見てください – abdo

答えて

2

です。 Firebaseデータベースは\文字を許可していません。

だから、あなたは、データベース内に置くことができます:こんにちは、_b世界

そして、取得した後、あなたがこの_bを置き換える\ nは

+0

コードでどのようにできるのか教えてください。 – abdo

+0

データベースにデータを書き込むときに、/ nのかわりに_bを書き込みます。 データを取得した後 (String)dataSnapshot.child( "content")。getValue()。replace( "_ b"、 "/ n"); –

関連する問題