как установить значение из фрагмента в другую деятельность - PullRequest
0 голосов
/ 23 мая 2019

Я создаю приложение в Android Studio, где я могу получить некоторые данные с сервера в моем фрагменте. Но я хочу, чтобы эти данные отображались в другом действии. Я пытался использовать LayoutInflater для выполнения задачи, но я получаю сообщение об ошибке. Я младший разработчик, и для меня это совершенно новая тема, я пытался найти решение, но ни одна из них не сработала. любезно помочь.

1.my fragment Codes

//These are some of my instance variables
public ImageView imageV;
public TextView txtV;
public LinearLayout linearLayout;




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

    mAuth= FirebaseAuth.getInstance();


        inflater = (LayoutInflater) getContext()
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);


        View myLayout = inflater.inflate(R.layout.activity_project_view, (ViewGroup) view, false);
        linearLayout = (LinearLayout) view.findViewById(R.id.linearlayout);

        imageV = (ImageView) myLayout.findViewById(R.id.imageV);
        txtV = (TextView) myLayout.findViewById(R.id.txtV);..............


//Below is the onClick method Where I want those data to be displayed 
  //to another activity.


  @Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

 DataSnapshot  myDataSnapShot  = uids.get(position);

  String Downloaduri = (String) myDataSnapShot.child("ImageLink").getValue();
  String title = (String) myDataSnapShot.child("Title").getValue();

    txtV.setText(title);

  Picasso.get().load(Downloaduri).into(imageV, new com.squareup.picasso.Callback() {………... }
      linearLayout.addView(imageV);
      linearLayout.addView(txtV);



2. xml file of another activity
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ProjectView">

<LinearLayout
    android:layout_width="match_parent"
    android:id="@+id/linearlayout"
    android:layout_height="match_parent"
    android:orientation="vertical" >



<ImageView
    android:id="@+id/imageV"
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:layout_gravity="center"
    android:layout_centerHorizontal="true"
    app:srcCompat="@drawable/wheel" />

<TextView
    android:id="@+id/txtV"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/imageV" />
</LinearLayout>

1 Ответ

0 голосов
/ 25 мая 2019

Сначала вы должны начать упражнение, иначе вы получите Null

Intent intent = new Intent(Objects.requireNonNull(getActivity()).getBaseContext(),
            ExampleActivity.class);

Затем вы можете передать данные любому методу в целевом действии, как в этом примере

((ExampleActivity)getContext()).parsData(data);
...