问题描述
我有一个使用意图的主要活动和对话。我试图将三个评级栏对话框中的值返回到 MainActiviy,每个都显示在 Textview 中。一切正常。我的问题是,即使我为每个评级栏选择了三个不同的评级,也只有评级栏的一个 VALUE 被返回到 Textviews。在三个文本视图中的每一个中显示相同的值,而不是在自己的文本视图中单独显示每个 ratingbars 值。
示例: ratingBar1 评分:2.0 ratingBar2 评分:4.0 ratingBar3 评分:3.0
MainActivity 显示: 文本视图 1:2.0 文本视图2:2.0 文本视图3:2.0
它应该显示:
MainActivity 显示: 文本视图 1:2.0 文本视图2:4.0 文本视图3:3.0
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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"
android:layout_margin="8dp"
tools:context=".MainActivity">
<TextView
android:id="@+id/txtName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="28dp"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:text="Nightclub Name: "
android:textSize="13sp"
android:textColor="@color/black"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/edname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="28dp"
android:layout_marginLeft="20dp"
android:layout_marginStart="20dp"
android:hint="Name"
android:ems="10"
android:gravity="center"
android:textSize="15sp"
android:imeOptions="actionNext"
android:textColor="@color/black"
app:layout_constraintStart_toEndOf="@+id/txtName"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/txtAddress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="60dp"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:text="Nightclub Address: "
android:textSize="13sp"
android:textColor="@color/black"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/txtName" />
<EditText
android:id="@+id/edAddress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:layout_marginLeft="6dp"
android:layout_marginStart="6dp"
android:hint="Address"
android:ems="10"
android:imeOptions="actionDone"
android:gravity="center"
android:textSize="15sp"
android:textColor="@color/black"
app:layout_constraintStart_toEndOf="@+id/txtAddress"
app:layout_constraintTop_toBottomOf="@id/edname" />
<Button
android:id="@+id/btnRate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Rate Club"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/txtMusicRate" />
<TextView
android:id="@+id/textVBeerRate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="70dp"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:text="Beer Average rating: "
android:textSize="13sp"
android:textColor="@color/black"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/txtAddress" />
<TextView
android:id="@+id/txtBeerRate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="70dp"
android:layout_marginLeft="190dp"
android:layout_marginStart="190dp"
android:hint="Beer"
android:textSize="15sp"
android:textColor="@color/black"
app:layout_constraintStart_toStartOf="@id/textVBeerRate"
app:layout_constraintTop_toTopOf="@id/txtAddress" />
<TextView
android:id="@+id/textVWineRate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="45dp"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:text="Wine Average rating: "
android:textSize="13sp"
android:textColor="@color/black"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/txtBeerRate" />
<TextView
android:id="@+id/txtWineRate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="45dp"
android:layout_marginLeft="16dp"
android:layout_marginStart="200dp"
android:hint="Wine"
android:textSize="15sp"
android:textColor="@color/black"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/txtBeerRate" />
<TextView
android:id="@+id/textMusicRate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="45dp"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:text="Music Average rating: "
android:textSize="13sp"
android:textColor="@color/black"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/textVWineRate" />
<TextView
android:id="@+id/txtMusicRate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="45dp"
android:layout_marginLeft="16dp"
android:layout_marginStart="200dp"
android:hint="Music"
android:textSize="15sp"
android:textColor="@color/black"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/txtWineRate" />
</androidx.constraintlayout.widget.ConstraintLayout>
activity_rating.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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"
android:padding="8dp"
>
<TextView
android:id="@+id/textVBeerDialog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="28dp"
android:gravity="center"
android:text="Rate Beer from 1 to 5"
android:textColor="@color/black"
android:textSize="28sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ratingBar
android:id="@+id/beerrating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:foregroundGravity="center"
android:layout_marginTop="15dp"
android:stepSize="1.0"
android:numStars="5"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textVBeerDialog" />
<TextView
android:id="@+id/textVWineDialog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:gravity="center"
android:text="Rate Wine from 1 to 5"
android:textColor="@color/black"
android:textSize="28sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/beerrating" />
<ratingBar
android:id="@+id/winerating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:foregroundGravity="center"
android:layout_marginTop="15dp"
android:stepSize="1.0"
android:numStars="5"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textVWineDialog" />
<TextView
android:id="@+id/textVMusicDialog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:gravity="center"
android:text="Rate Music from 1 to 5"
android:textColor="@color/black"
android:textSize="28sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/winerating" />
<ratingBar
android:id="@+id/musicrating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:foregroundGravity="center"
android:layout_marginTop="15dp"
android:stepSize="1.0"
android:numStars="5"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textVMusicDialog" />
<Button
android:id="@+id/btnRateSave"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Save rating"
android:gravity="center"
android:layout_marginTop="30dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/musicrating"/>
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity.java
package com.example.hotspots;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
Button btnSave;
EditText editName,editAddress;
TextView txtbeerRate,txtwineRate,txtmusicRate;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnSave = findViewById(R.id.btnRate);
editName = findViewById(R.id.edname);
editAddress = findViewById(R.id.edAddress);
txtbeerRate = findViewById(R.id.txtBeerRate);
txtwineRate = findViewById(R.id.txtWineRate);
txtmusicRate = findViewById(R.id. txtMusicRate);
btnSave.setonClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(editName.getText().toString().trim().length() <= 0 || editAddress.getText().toString().trim().length() <= 0) {
Toast.makeText(MainActivity.this,"Please enter Name & Address of Hotspot!",Toast.LENGTH_SHORT).show();
} else { Intent intent = new Intent(MainActivity.this,ratingActivity.class);
startActivity(intent);
}
}
});
Intent intent = getIntent();
String viewrating1 = intent.getStringExtra("myBeer");
txtbeerRate.setText(viewrating1);
String viewrating2 = intent.getStringExtra("myWine");
txtwineRate.setText(viewrating2);
String viewrating3 = intent.getStringExtra("myMusic");
txtmusicRate.setText(viewrating3);
}
}
ratingActivity.java
package com.example.hotspots;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ratingBar;
public class ratingActivity extends AppCompatActivity {
ratingBar ratingStars1,ratingStars2,ratingStars3;
Button btnSave;
float myrating1,myrating2,myrating3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_rating);
ratingStars1 = findViewById(R.id.beerrating);
ratingStars2 = findViewById(R.id.winerating);
ratingStars3 = findViewById(R.id.musicrating);
btnSave = findViewById(R.id.btnRateSave);
ratingStars1.setonratingBarchangelistener(new ratingBar.OnratingBarchangelistener() {
@Override
public void onratingChanged(ratingBar ratingBar,float rating,boolean fromUser) {
myrating1 = ratingStars1.getrating();
}
});
ratingStars2.setonratingBarchangelistener(new ratingBar.OnratingBarchangelistener() {
@Override
public void onratingChanged(ratingBar ratingBar,boolean fromUser) {
myrating2 = ratingStars2.getrating();
}
});
ratingStars3.setonratingBarchangelistener(new ratingBar.OnratingBarchangelistener() {
@Override
public void onratingChanged(ratingBar ratingBar,boolean fromUser) {
myrating3 = ratingStars3.getrating();
}
});
btnSave.setonClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myrating1();
myrating2();
myrating3();
}
public void myrating1() {
Intent intent = new Intent(ratingActivity.this,MainActivity.class);
if (myrating1 == 1.0) {
intent.putExtra("myBeer",myrating1 + " Very Bad ");
startActivity(intent);
}
else if (myrating1 == 2.0) {
intent.putExtra("myBeer",myrating1 + " Bad ");
startActivity(intent);
}
else if (myrating1 == 3.0) {
intent.putExtra("myBeer",myrating1 + " Good ");
startActivity(intent);
}
else if (myrating1 == 4.0) {
intent.putExtra("myBeer",myrating1 + " Great ");
startActivity(intent);
}
else if (myrating1 == 5.0) {
intent.putExtra("myBeer",myrating1 + " Excellent ");
startActivity(intent);
}
}
public void myrating2() {
Intent intent = new Intent(ratingActivity.this,MainActivity.class);
if (myrating2 == 1.0) {
intent.putExtra("myWine",myrating2 + " Very Bad ");
startActivity(intent);
}
else if (myrating2 == 2.0) {
intent.putExtra("myWine",myrating2 + " Bad ");
startActivity(intent);
}
else if (myrating2 == 3.0) {
intent.putExtra("myWine",myrating2 + " Good ");
startActivity(intent);
}
else if (myrating2 == 4.0) {
intent.putExtra("myWine",myrating2 + " Great ");
startActivity(intent);
}
else if (myrating2 == 5.0) {
intent.putExtra("myWine",myrating2 + " Excellent ");
startActivity(intent);
}
}
public void myrating3() {
Intent intent = new Intent(ratingActivity.this,MainActivity.class);
if (myrating3 == 1.0) {
intent.putExtra("myMusic",myrating3 + " Very Bad ");
startActivity(intent);
}
else if (myrating3 == 2.0) {
intent.putExtra("myMusic",myrating3 + " Bad ");
startActivity(intent);
}
else if (myrating3 == 3.0) {
intent.putExtra("myMusic",myrating3 + " Good ");
startActivity(intent);
}
else if (myrating3 == 4.0) {
intent.putExtra("myMusic",myrating3 + " Great ");
startActivity(intent);
}
else if (myrating3 == 5.0) {
intent.putExtra("myMusic",myrating3 + " Excellent ");
startActivity(intent);
}
}
});
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)