Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将OnActivityResult()方法用于ProgressBar';s setMax()方法 我有一个简单设计的进度条,放在MainActivity中 我有第二个活动来设置ProgressBar的最大值_Android_Progress Bar - Fatal编程技术网

Android 如何将OnActivityResult()方法用于ProgressBar';s setMax()方法 我有一个简单设计的进度条,放在MainActivity中 我有第二个活动来设置ProgressBar的最大值

Android 如何将OnActivityResult()方法用于ProgressBar';s setMax()方法 我有一个简单设计的进度条,放在MainActivity中 我有第二个活动来设置ProgressBar的最大值,android,progress-bar,Android,Progress Bar,我的问题是,;如何在ActivityResult(int requestCode、int resultCode、Intent data)上使用public void作为ProgressBar的setMax()方法的返回值 Java 假设您的第二个活动将一个int作为其额外值,在其结果Intent中使用一个键“your_key”,只需将进度条的最大值设置为该int额外值: //Sets Calorie value Comes from NewPlan.java and makes it Toast

我的问题是,;如何在ActivityResult(int requestCode、int resultCode、Intent data)上使用public void作为ProgressBar的setMax()方法的返回值

Java 假设您的第二个活动将一个
int
作为其额外值,在其结果
Intent
中使用一个
键“your_key”
,只需将进度条的最大值设置为该
int
额外值:

//Sets Calorie value Comes from NewPlan.java and makes it Toast to show user
 public void onActivityResult(int requestCode, int resultCode, Intent data)
    {
        if (requestCode == request_Code) {
            if (resultCode == RESULT_OK) {                
                Toast.makeText(this,"Adjusted to "+data.getData().toString(), 
                    Toast.LENGTH_LONG).show();

               ((ProgressBar) findViewById(R.id.progress1)).setMax (data.getIntExtra ("YOUR_KEY", 0));


            }            
        }
    }
让事情变得简单(我会说):

然后在更改的侦听器中:

 progress = progress / 50;
 progress = progress * 50;
 myProgress = progress;//add this line
然后,要设置数据,请更改为:

Intent calorieVal = new Intent();

calorieVal.putExtra ("YOUR_KEY", myProgress);
setResult(RESULT_OK, calorieVal);

//---closes the activity---
finish(); 

以下是您在NEWPLAN活动中设置结果意图的方式:

Intent intent = new Intent();
intent.putExtra("myInt", 12);
setResult(Activity.RESULT_OK, intent);

finish();
然后在MainActivity中,使用以下方法获取数据:

public void onActivityResult(int requestCode, int resultCode, Intent data) {
     if (requestCode == yourRequestCode && RESULT_OK) {                
         int myInt = data.getIntExtra("myInt", 0);
         // do more if you wish
     }
 }

我添加了我的另一个活动。也许这对问题更有用。:)@hakiko为什么要解析URI?您正在使用某种提供商吗?为什么不直接传递seekbar值呢?对不起,我是新手,我正在学习一些教程。有更简单的方法吗。怎么用?有时我不能理解一些术语,如提供者:)我是一步一步地理解的,但在“新建计划”页面上单击按钮后,它停止了!02-25 01:42:47.696:E/AndroidRuntime(2009):java.lang.RuntimeException:未能将结果ResultInfo{who=null,request=1,result=-1,data=Intent{(has extrass)}}传递到活动{com.hakkikonu.dailycalorie/com.hakkikonu.dailycalorie.MainActivity}:java.lang.NullPointerExceptionSo我可以在onActivityResult()之外使用myInt变量吗@当然,hakiko-要么把它移动到一个主要活动区域,要么马上使用它->calorieBar.setMax(myInt);对不起,我不明白这个:intent.putExtra(“myInt”,12);您错过了resultCode==RESULT\u OK
Intent calorieVal = new Intent();

calorieVal.putExtra ("YOUR_KEY", myProgress);
setResult(RESULT_OK, calorieVal);

//---closes the activity---
finish(); 
Intent intent = new Intent();
intent.putExtra("myInt", 12);
setResult(Activity.RESULT_OK, intent);

finish();
public void onActivityResult(int requestCode, int resultCode, Intent data) {
     if (requestCode == yourRequestCode && RESULT_OK) {                
         int myInt = data.getIntExtra("myInt", 0);
         // do more if you wish
     }
 }