java - 将评级栏的值传递给下一个 Activity/Intent

标签 java android android-intent

问题:我无法将评分栏中的评分值/数据传递给另一个 Intent 。它只显示这个而不是评级栏中的值/数据。

Rating: MainActivity@79b604

我认为错误是它没有正确地从评级栏中获取值或者它没有正确传递值。这是我的代码:

MainActivity.java

public class MainActivity extends AppCompatActivity {
    String rating_float = "0.0";
    private TextView txtRatingValue;

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

    RatingBar ratingBar = (RatingBar) findViewById(R.id.ratingBar);

    ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {
        @Override
        public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
            rating_float = String.valueOf(rating);
        }
    });
}

public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    Context context = getApplicationContext();
    CharSequence text = "";

    Intent intent_rating = new Intent(this, SecondActivity.class);
    intent_rating.putExtra("rating_float", toString());
    startActivity(intent_rating);

    return super.onOptionsItemSelected(item);
}}

SecondActivity.java

public class SecondActivity extends AppCompatActivity {
private TextView Msg;
String PassedValue = null;

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

    PassedValue = getIntent().getStringExtra("rating_float");
    Msg = (TextView) findViewById(R.id.Msg);
    Msg.setText("Dimension: 479\nFormat: JPEG\nSize: 360x360\nRating: " + PassedValue);
}

问题:

  1. 我是否以正确的方式获取评分栏的值?
  2. 如何将评分栏中的值/数据传递到下一个 Activity/Intent 以及如何从 SecondActivity.java 中获取它?

最佳答案

那是因为您将 MainActivity.toString() 的结果传递给您的第二个 Activity

代替

intent_rating.putExtra("rating_float", toString());

你大概应该写

intent_rating.putExtra("rating_float", this.rating_float);

关于java - 将评级栏的值传递给下一个 Activity/Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48769340/

相关文章:

android - 在 ListActivity 中添加操作栏

android - 如何在我自己的实用程序类中提供上下文来调用必要的函数

Android Intent to Google Goggles 总是导致 RESULT_CANCELLED。如何为我的 Activity 恢复合法结果?

android - 无法在 appCompatActivity 中启动 Activity

java useDelimeter 拆分 -

android - 在 Windows 7 64 位中安装 Android SDK 时出现错误?

java - 创建 Gridbag 布局

java - 使用另一个数组删除数组中的所有数字 0

android - 如何在 Android 中以编程方式关闭 "Ask to use WLAN"?

android - 将 Bitmap 转换为资源 ID