如何使用评级栏在活动之间传递信息

时间:2017-12-22 23:28:09

标签: java android android-studio

好的,所以我对Android和整个应用程序制作非常新,但我只是做一个通用的应用程序评级的东西只是为了练习。以下是我在主要活动中只有2张通用图片的详细信息,每张图片旁边都有一个率按钮,下面是一个文本视图,因此当您点击率按钮时,它会带您进入具有评级栏的第二个活动。这是我在评级栏的视图中的问题我只是将评级显示为吐司,但我希望能够获得该评级并将其显示在我的主要活动的textview中,并且它构成的问题比我以为它会如此寻找一些帮助

这是我主要活动的代码

package com.example.brent.appmanagement;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ratingapp1();
    ratingapp2();
    getrating();
}
private void getrating(){

}
private void ratingapp1(){

    Button rateapp1 = findViewById(R.id.rateapp1);
    rateapp1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            startActivity(new Intent(MainActivity.this, firstapp.class));
        }
    });
}
private void ratingapp2(){
    Button rateapp2 = findViewById(R.id.rateapp2);
    rateapp2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            startActivity(new Intent(MainActivity.this, secondapp.class));
        }
    });
}
}

这是评级栏

的活动代码
public class firstapp extends AppCompatActivity {


public RatingBar ratingBar;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_firstapp);
    ratingBar =  findViewById(R.id.ratingBar);
    return1();
}
public void rateMe(View view){

    Toast.makeText(getApplicationContext(),
            String.valueOf(ratingBar.getRating()), 
Toast.LENGTH_LONG).show();


}
private void return1(){
    Button returntomain1 = findViewById(R.id.returntomain1);
    returntomain1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            startActivity(new Intent(firstapp.this, MainActivity.class));
        }
    });
}

}

我也有我不知道的XML,如果你需要看到,但这里是

主要活动

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
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="com.example.brent.appmanagement.MainActivity">

<Button
    android:id="@+id/rateapp1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginEnd="96dp"
    android:layout_marginTop="124dp"
    android:text="Rate"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<Button
    android:id="@+id/rateapp2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="176dp"
    android:layout_marginEnd="96dp"
    android:text="Rate"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent" />

<ImageView
    android:id="@+id/imageView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="96dp"
    android:layout_marginTop="112dp"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:srcCompat="@mipmap/ic_launcher" />

<ImageView
    android:id="@+id/imageView4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="164dp"
    android:layout_marginStart="96dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:srcCompat="@mipmap/ic_launcher" />

<TextView
    android:id="@+id/savedrating1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="96dp"
    android:layout_marginTop="12dp"
    android:text=""
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/imageView3" />

<TextView
    android:id="@+id/savedrating2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="96dp"
    android:layout_marginTop="12dp"
    android:text=""
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/imageView4" />
</android.support.constraint.ConstraintLayout>

和第二项活动

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
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="com.example.brent.appmanagement.firstapp">

<Button
    android:id="@+id/returntomain1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="8dp"
    android:layout_marginStart="8dp"
    android:text="Return to main menu"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintStart_toStartOf="parent" />

<TextView
    android:id="@+id/rate_me"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:text="Rate Me"
    android:textSize="18dp"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<RatingBar
    android:id="@+id/ratingBar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/rate_me"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:numStars="5"
    android:stepSize="1.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/rate_me" />

<Button
    android:id="@+id/submit"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/ratingBar"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:onClick="rateMe"
    android:text="Submit"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/ratingBar" />
</android.support.constraint.ConstraintLayout>

我想让firstactivity内的评级栏的评分显示在我主要活动中的textview savedrating1中

事先感谢所有人的帮助

1 个答案:

答案 0 :(得分:0)

对于原始值,您可以使用键值对Intent intent =new Intent(); String myValue="something";intent.putExtra("keyMyValue",myValue);startActivity(intent);将它们填充到intent中,以传递自定义对象使用parcelable并将parcelable填充到上面的or here