質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

解決済

自分の投稿をアカウントページに表示できません。

Fuwa
Fuwa

総合スコア49

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

1回答

0グッド

0クリップ

180閲覧

投稿2022/10/18 02:21

  1. 自分の投稿をアカウントページに表示できません。

udemyの教材でTwitter デモアプリ制作中です。

firebase

エラーはありません。何度も書き直してますが理由は何が考えられますでしょうか?

import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:loguin/utils/authentication.dart';
import 'package:loguin/utils/firestore/posts.dart';
import 'package:loguin/utils/firestore/users.dart';
import '../../model/account.dart';
import '../../model/post.dart';
import 'edeit_account_page.dart';

class AccountPage extends StatefulWidget {

@override
State<AccountPage> createState() => _AccountPageState();
}

class _AccountPageState extends State<AccountPage> {

Account myAccount = Authentication.myAccount!;

@override
Widget build(BuildContext context) {
return Scaffold(
// appBar: AppBar(
// title: Text("マイページ"),
// ),
body: SafeArea(
child: SingleChildScrollView(
child: Container(
height: MediaQuery.of(context).size.height,
child: Column(
children: [
Container(
padding: EdgeInsets.only(right: 15, left: 15,top: 20),

height: 200, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row( children: [ CircleAvatar( radius: 32, foregroundImage: NetworkImage(myAccount.imagePath), ), SizedBox(width: 10,), Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text(myAccount.name,style: TextStyle(fontSize: 20,fontWeight: FontWeight.bold),), Text('@${myAccount.userId}',style: TextStyle(color: Colors.grey)), ], ) ], ), OutlinedButton( onPressed: () async{ var result = await Navigator.push(context,MaterialPageRoute( builder: (context) => EditAccountPage() )); if(result == true){ setState(() { myAccount = Authentication.myAccount!; }); } }, child: Text("編集") ) ], ), SizedBox(height: 15,), Text(myAccount.selfIntroduction) ], ), ), Container( alignment: Alignment.center, width: double.infinity, decoration: BoxDecoration( border: Border(bottom: BorderSide( color: Colors.blue, width: 1 )) ), child: Text("投稿一覧",style: TextStyle( color: Colors.blue,fontWeight: FontWeight.bold) ,), ), Expanded(child: StreamBuilder<QuerySnapshot>( stream: UserFireStore.users.doc(myAccount.id).collection( "my_posts").orderBy("crearedTime",descending: true).snapshots(), builder: (context, snapshot) { if(snapshot.hasData){ List<String> myPostIds = List.generate(snapshot.data!.docs.length, (index) { return snapshot.data!.docs[index].id; }); return FutureBuilder<List<Post>?>( future: PostFirestore.getPostsFromIds(myPostIds), builder: (context, snapshot) { if(snapshot.hasData){ return ListView.builder( physics: NeverScrollableScrollPhysics(), itemCount: snapshot.data!.length, itemBuilder: (context,index){ Post post = snapshot.data![index]; return Container( decoration: BoxDecoration( border: index == 0 ? const Border( top: BorderSide(color: Colors.grey, width: 1), bottom: BorderSide(color: Colors.grey, width: 1), ) : const Border(bottom: BorderSide(color: Colors.grey, width: 1),) ), padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 15), child: Row( children: [ CircleAvatar( radius: 30, foregroundImage: NetworkImage(myAccount.imagePath), ), Expanded( child: Container( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row( children: [ Text(myAccount.name,style: TextStyle(fontWeight: FontWeight.bold)), Text("@${myAccount.userId}",style: TextStyle(color: Colors.grey),), ], ), Text(DateFormat('M/d/yy').format( post.crearedTime!.toDate())) ], ), Text(post.content), ], ), ), ) ], ), ); }); } else{ return Container(); } } ); }else{ return Container(); } } ) ) ], ), ), ), ), );

}
}

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2022/10/18 02:47

こちらの質問が他のユーザーから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました。

Fuwa

2022/10/18 04:25 編集

エラーが出ていませんので、エラー を知りたいだけですがなぜ丸投げになるんでしょうか? 理由は何が考えられますでしょうか?という質問ですよく読んでください。 治してほしいという事ではありません。

回答1

0

自己解決

"id": newPost.postAccountId, 加えたら投稿できました。

投稿2022/10/18 11:32

Fuwa

総合スコア49

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。