- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个按钮和音频 ListView ,对于第一个按钮,我使用 LongClick 和 startActivityForResult 方法从 MediaPlayer 的另一个 Activity 获取字符串。但我也想使用第二个按钮。我需要使用 startActivityForResult 来获取另一个 MediaPlayer 的另一个字符串,这是我的代码:
public class MainActivity extends Activity {
String setData, gotArnswer,s,s1;
MediaPlayer mMediaPlayer;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mMediaPlayer = new MediaPlayer();
Button b1 =(Button) findViewById(R.id.button1);
Button b2 =(Button) findViewById(R.id.button2);
b2.setOnLongClickListener(new View.OnLongClickListener() {
public boolean onLongClick(View arg0) {
// TODO Auto-generated method stub
return false;
}
});
b1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
try {
if (mMediaPlayer.isPlaying()) {
mMediaPlayer.reset();
}
mMediaPlayer.setDataSource(s); //using string here
mMediaPlayer.prepare();
mMediaPlayer.start();
} catch (Exception e) {
}
}
});
b1.setOnLongClickListener(new View.OnLongClickListener() {
public boolean onLongClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent(MainActivity.this, Activityone.class);
startActivityForResult(i, 0);
return false;
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK){
Bundle basket = data.getExtras();
s = basket.getString("arnswer");
}
}
还有我的ListView onClick()
:
public void onItemClick(AdapterView parent, View v, int position,
long id) {
System.gc();
music_column_index = musiccursor
.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA);
musiccursor.moveToPosition(position);
String filename = musiccursor.getString(music_column_index);
Intent person = new Intent();
Bundle backpack = new Bundle();
backpack.putString("arnswer", filename);
person.putExtras(backpack);
setResult(RESULT_OK, person);
finish();
}
};
最佳答案
所以基本上您需要了解请求代码,这是您传递给 startActivityForResult 的第二个参数。从第一个按钮调用时可以使用 0 作为请求代码,从第二个按钮调用时可以使用 1。
在第一次单击按钮时启动结果 Activity
startActivityForResult(i, 0);
单击第二个按钮时启动 Activity 以获取结果
startActivityForResult(i, 1);
并且您需要在 onActivityResult(..) 方法中添加检查,以了解哪个 Activity 返回了 Intent 结果,如下所示。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK){
if(requestCode == 0) {
// handling code of startActivityForResult of first button
Bundle basket = data.getExtras();
s = basket.getString("arnswer");
}
if(requestCode == 1) {
// handling code of startActivityForResult of second button
Bundle basket = data.getExtras();
s1 = basket.getString("arnswer");
}
}
}
编辑:-不要使用 0 和 1 作为请求代码,而是定义常量以便将来可读。
关于java - startActivityForResult 两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14632253/
如果我调用 startActivityForResult 并且启动的 Activity 也在另一个 Activity 上调用 startActivityForResult, 是否有可能停止第一个 Ac
Android Fragment 中 startActivityForResult() 与 getActivity().startActivityForResult() 之间有什么区别?在 Fragm
我正在尝试改进一个实际代码,该代码通过 Android 手机与带有 Arduino(电子微 Controller )的 Atmega 建立蓝牙连接。我可以接收数据并将数据发送到微 Controller
我刚开始学习 android 编程,但我在启动 Activity for Result(使用 onActivityResult()、setResult())时遇到问题。 首先,有三个 Activity
我想让谷歌登录到我的应用程序,但我收到了这个错误。 startActivityForResult() deprecated in java 这是我的代码: val signInIntent =
我有一个有 15 个级别的问答游戏。在每个级别之后,我都会显示一个弹出窗口,其中包含一些信息(游戏级别和一些级别规则)。 15 级后,会出现一个最终弹出窗口,其中包含用户赢得了多少积分的信息。我使用
这个问题已经有答案了: Android contacts Display Name and Phone Number(s) in single database query? (3 个回答) 已关闭
我有两个按钮和音频 ListView ,对于第一个按钮,我使用 LongClick 和 startActivityForResult 方法从 MediaPlayer 的另一个 Activity 获取字
我正在编写一个 Android 应用程序,并且我有一个主屏幕,可以启动不同的播放模式(不同的 Activity )。我想开始每项 Activity 以获得结果startActivityForResul
在我的应用程序中,我正在尝试使用 fragment 中的 RecognizerIntent 启动谷歌语音转文本。请求代码的值是 1010,但在 startActivityForResult 上返回的请
我正在尝试使用 startActivityForResult 响应 Activity 的结果。我得到了预期的结果,但不确定如何回应结果。我想做的是根据结果调用不同的 ArrayList(这是一种资源)
我正在尝试从 HTML5 和 JavaScript 调用相机。我的代码如下。但是我得到空指针异常。 主要 Activity : public void onCreate(Bundle savedIn
我正在学习 android 并且很想知道 startActivityForResult() 是否也包含 startActivity() 的属性,即它是否可以用于发送数据,如 startActivity
所以我有两个类(class)。我想做的是将数据从 MainActivity 发送到 Main2,在 Logcat 中登录,然后将控制权返回给 MainActivity 以便用一些其他数据再次重复该步骤
我有以下代码和两个 Activity ,其中我在 MainActivity 中有一个 ListActivity,然后是 AddItemsActivity 以动态地将项目添加到 ListActivity
当我在一个新 Activity 中写一个国家时,我得到了家庭作业来做到这一点(结果)它会把它写在主要 Activity 中,我写的颜色和新 Activity 会将文本颜色更改为我写的颜色。但是“确定”
是否可以从状态栏通知中使用 startActivityForResult()? 假设我有一个 Activity A,它在某些事件中使用 startActivityForResult() 启动 Acti
我想启动 map Activity 并获取位置结果。这是否可以在不使用 MapView 且不需要谷歌地图库的情况下实现? 最佳答案 是的,这是可能的。您应该将“onclick”事件监听器添加到您的 m
我是 android 的新手,有人可以帮助我吗,以下是我尝试运行以扫描条形码的代码,但是每当我单击按钮时它都会出错,它说强制关闭我应该做什么请帮助我。 this.btnCheck = (Button)
我正在使用 StartActivityForResult 进行多项 Activity 。我的主要 Activity 是初始化它。在我的第二个 Activity 中,我输入了一些值并传递给第三个 Act
我是一名优秀的程序员,十分优秀!