我想在Android应用程序上做一些简单的事情.怎么可能回到以前的活动.
我需要什么代码才能回到之前的活动
我正在从片段中开始一个新的活动
startActivityForResult(intent, 1);
Run Code Online (Sandbox Code Playgroud)
并希望在Fragment的父Activity中处理结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.d(TAG, "onActivityResult, requestCode: " + requestCode + ", resultCode: " + resultCode);
if (requestCode == 1) {
// bla bla bla
}
}
Run Code Online (Sandbox Code Playgroud)
问题是我从来没有得到requestCode我刚刚发布的内容startActivityForResult().
我有一个类似的东西0x40001,0x20001有一个随机的高位设置.文档没有说明这一点.有任何想法吗?
我有两个活动:主要活动和儿童活动.
当我按下主活动中的按钮时,将启动子活动.
现在我想将一些数据发送回主屏幕.我使用了Bundle类,但它不起作用.它会抛出一些运行时异常.
这有什么解决方案吗?
我的例子中有3个类:A类,主要活动.A类调用startActivityForResult:
Intent intent = new Intent(this, ClassB.class);
startActivityForResult(intent, "STRING");
Run Code Online (Sandbox Code Playgroud)
B类,这个类是一个TabActivity:
Intent intent = new Intent(this, ClassC.class);
tabHost.addTab...
Run Code Online (Sandbox Code Playgroud)
C类,这个类是一个常规的Activity:
Intent intent = this.getIntent();
intent.putExtra("SOMETHING", "EXTRAS");
this.setResult(RESULT_OK, intent);
finish();
Run Code Online (Sandbox Code Playgroud)
onActivityResult在类A中调用,但resultCode RESULT_CANCELED代替,RESULT_OK返回的intent为null.如何从TabHost中的Activity返回一些内容?
我意识到问题是我的C类实际上是在B类中运行,而B类是返回RESULT_CANCELED到A类的.我只是不知道一个解决方法.
我有2个活动,Activity1和Activity2.
在Activity1我有一个按钮和TextView的.单击按钮时,将启动Activity2.
在Activity2我的EditText中.
我想显示从检索到的数据的EditText在活性2中的TextView在活性1当从压回活性2.
有人可以帮助我使用代码来完成这项工作吗?
我有四个活动,比如A,B,C和D.我的情况是A将通过startActivityForResult启动活动B.
startActivityForResult(new Intent(this,B.class),ONE);
Run Code Online (Sandbox Code Playgroud)
在其他情况下,我将B与其他情况.喜欢
startActivityForResult(new Intent(this,B.class),TWO);
Run Code Online (Sandbox Code Playgroud)
在B中,我需要根据requestCode调用C或D. 即如果ONE需要启动C else D.
所以我需要知道如何检查子Activity中的requestCode(这里是B).
换句话说,我想获得活动B开始的请求代码.
android android-intent android-activity startactivityforresult
如果我们有两个活动:
用户从列表中选择文件并进入文件编辑活动.完成编辑后,用户按下后退按钮返回文件列表.
该列表未重新加载,因此刚刚编辑的文件修改时间显示的值不正确.
按下后退按钮后,使文件列表刷新的正确方法是什么?
此示例假定没有使用数据库,只是使用ArrayAdapter.
虽然Snackbar很漂亮,但在改变活动时它并不存在.Snackbar在完成活动之前我想确认使用a发送消息的情况下,这是一个无聊的事情.我已经考虑在退出活动之前暂停代码,但发现这是一个不好的做法.
如果我所描述的是不可能的,是否有任何类型的材料设计敬酒消息?或者制作矩形吐司消息的方法; 一个半径较小的圆边?
我想声明我正在测试的我的Acitivty在执行某些操作时已完成.不幸的是到目前为止,我只是通过在测试结束时添加一些睡眠来断言它.有没有更好的办法 ?
import android.content.Context;
import android.os.Build;
import android.support.test.rule.ActivityTestRule;
import android.test.suitebuilder.annotation.LargeTest;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import static org.junit.Assert.assertTrue;
@SuppressWarnings("unchecked")
@RunWith(JUnit4.class)
@LargeTest
public class MyActivityTest {
Context context;
@Rule
public ActivityTestRule<MyActivity> activityRule
= new ActivityTestRule(MyActivity.class, true, false);
@Before
public void setup() {
super.setup();
// ...
}
@Test
public void finishAfterSomethingIsPerformed() throws Exception {
activityRule.launchActivity(MyActivity.createIntent(context));
doSomeTesting();
activityRule.getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
fireEventThatResultsInTheActivityToFinishItself();
}
});
Thread.sleep(2000); // this is needed :(
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) …Run Code Online (Sandbox Code Playgroud) testing android android-activity android-testing android-espresso
我很困惑,不知道如何使用startActivityResults和setResults从以前的活动中获取数据.我有一个视图类和一个活动类.
基本上在我的视图类中我有这个对话框,它实际上将启动名为colorActivity类的活动类.当用户选择"是"时,它也会将所选圆圈的名称传递给colorActivity类.在colorActivity类中,允许用户输入特定圆的颜色代码,并且我想将颜色代码传递回视图类.我使用startActivityForResult和setResult方法将值从活动传递回视图时出现问题.加上,如何利用获取的数据?
我的代码如下
从我的视图类中修改代码:
@Override
public boolean onTouchEvent(MotionEvent event) {
x = event.getX();
y = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
for (int i = 0; i < circles.size(); i++) {
if (circles.get(i).contains(x, y)) {
circleID = i;
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
AlertDialog.Builder builder = new Builder(
getContext());
final EditText text = new EditText(getContext());
builder.setTitle("Adding colors to circles").setMessage(
"Proceed to Enter color");
builder.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface di,
int …Run Code Online (Sandbox Code Playgroud)