java - 我无法使用从 Activity 传递到 fragment 的 bundle 字符串数据在 textView 中设置文本

标签 java android textview bundle

Data pass from ProjectDetailActivity to ProjectDetailFragment ,I already check that data can pass to fragment by using Toast to show data as you can see in the code , but the problem is I cant set text in Textview by using data from bundle . If you see some error in this code please let me know . Thank a lot.

ProjectDetailActivity 类

         private String project_key,project_name,project_priority,project_category,
                        project_start_date ,project_end_date,project_description;
         @Override
         protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_project_detail);

              Intent intent = getIntent();
              project_key         = intent.getStringExtra("project_key");
              project_name        = intent.getStringExtra("project_name");
              project_category    = intent.getStringExtra("project_category");
              project_priority    = intent.getStringExtra("project_priority");

              Bundle bundle = new Bundle();
              bundle.putString("project_key",project_key);
              bundle.putString("project_name",project_name);
              bundle.putString("project_category",project_category);
              bundle.putString("project_priority",project_priority);

              ProjectDetailFragment project_detail_fragment =new ProjectDetailFragment();
              project_detail_fragment.setArguments(bundle);
              getSupportFragmentManager().beginTransaction()
                .replace(R.id.project_detail_fragment,project_detail_fragment)
                .commit();

          }
     }

ProjectDetailFragment 类

 public class ProjectDetailFragment extends Fragment {
      private View root;

      private String project_key,project_name,project_priority,project_category,


      private TextView project_name_textView , project_priority_textView ,
                       project_category_textView ;

      private Context mContext;

      public ProjectDetailFragment() { }

      @Override
      public void onCreate(@Nullable Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           if (getArguments() != null) {
                Bundle bundle = getArguments();
                project_key           = bundle.getString("project_key");
                project_name          = bundle.getString("project_name");
                project_priority      = bundle.getString("project_category");
                project_category      = bundle.getString("project_priority");
           }
      }

      public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle 
                  savedInstanceState) {
            root =  inflater.inflate(R.layout.fragment_project_detail, container,false);

            project_name_textView        = root.findViewById(R.id.project_name_textView);
            project_priority_textView    = root.findViewById(R.id.priority_textView);
            project_category_textView    = root.findViewById(R.id.category_textView);


            project_name_textView.setText(project_name);
            project_priority_textView.setText(project_priority);
            project_category_textView.setText(project_category);

            Toast.makeText(mContext,"TASK ACTIVITY\n"+
                    project_key+"\n"+project_name+"\n"+project_category+"\n"
                    +project_priority+"\n",Toast.LENGTH_SHORT).show();

            return root;
       }

       @Override
       public void onAttach(Context context) {
            super.onAttach(context);
            mContext=context;
       }
 }

最佳答案

如果Toast向您显示数据,则意味着接收数据没有问题,并且我在将数据设置为 TextView 时没有看到错误,但请检查您的xml,检查文本颜色是否与背景颜色匹配,例如text-view背景是白色的,文字颜色也是白色的,显然你看不到文字。 或者如果没有,你可以这样尝试::::project_name_textView.setText(String.value of(project_name));

关于java - 我无法使用从 Activity 传递到 fragment 的 bundle 字符串数据在 textView 中设置文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61424558/

相关文章:

java - Android listView 在 Fragment 中点击崩溃

Android PreferenceActivity

php - 无法使用 PHP 连接 MySQL - Android Studio

android - 如何在Android中设置TextView以在一行中显示文本

android - 如何对 TextView 中的每个单词使用 onTouchListeners?

java - textView 中的 getHeight()、getWidth() 返回 0

java - 验证 XML XSD 失败

java - 自动调整 jpanel 的大小

eclipse - Ant "JAVA_HOME does not point to the JDK"- 但确实如此

java - 如何读取 firestore 子集合并将其传递给 FirestoreRecyclerOptions