在我的活动中,我正在通过主要活动调用第二个活动startActivityForResult.在我的第二个活动中,有一些方法可以完成此活动(可能没有结果),但是,只有其中一个返回结果.
例如,从主要活动我称之为第二个.在这项活动中,我正在检查手机的某些功能,例如是否有相机.如果它没有,那么我将关闭此活动.此外,在准备期间MediaRecorder或MediaPlayer如果出现问题,我将关闭此活动.
如果其设备有摄像头并完全录制,则在用户点击完成按钮后录制视频后,我会将结果(录制视频的地址)发送回主要活动.
如何检查主要活动的结果?
android android-intent android-activity startactivityforresult
我有一个ListView,它通过一个数组向我显示一些数据(在另一个类中,我通过它的对象访问它).
每当我通过上下文菜单从ListView中删除元素时,列表不会刷新,但元素将从数组中删除.如何刷新列表以显示此信息?
码:
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
if (v.getId()==R.id.mainListView) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuInfo;
post=info.position;
menu.setHeaderTitle(stocks[info.position]);
String[] menuItems = stt;
for (int i = 0; i<menuItems.length; i++) {
menu.add(Menu.NONE, i, i, menuItems[i]);
}
}
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();
int menuItemIndex = item.getItemId();
String[] menuItems = stt;
String menuItemName = menuItems[menuItemIndex];
listItemName = stocks[info.position];
stockname.remove(post-1);
return true;
}
Run Code Online (Sandbox Code Playgroud) 我有两个活动,一个是UserActivity,另一个是CartActivity我正在展示产品清单UserActivity.点击按钮,AddtoCart我将产品添加到购物车.我正面临这个问题:
当我添加单击按钮AddtoCart时,操作栏中有一个购物车图标,我textview在该购物车图标上有一个显示购物车计数器的自定义布局.每当我点击按钮时,该计数器就会更新AddtoCart.现在我转到CartActivity并删除购物车中的一些产品.现在按回按钮返回时UserActivity,计数器文本视图不会更新.
我已经阅读了几个关于按下后退的更新的方法,如问题中的" 返回"按钮和刷新之前的活动.答案中给出的两种方法是通过覆盖结果的OnResume()方法UserActivity或启动结果的活动.
我想我需要将一个名为DeleteCounterfrom 的变量传递CartActivity给UserActivity当我按下后退按钮并从计数器中的原始产品数中减去它TextView并更新文本视图.
这是部分代码,UserActivity我有这个代码只更新购物车计数器的功能,当我点击一个按钮时调用.另外onActivityResult()在这个评论中的代码我从上面的答案尝试了SO问题链接.它没有成功:
public class UserActivity extends AppCompatActivity{
private int cartindex = 0;
private TextView counterTV = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
}
// @Override
// protected void onActivityResult(int requestCode, int …Run Code Online (Sandbox Code Playgroud) 我有一个活动A,它有一个feed类接口.每个Feed项都有一个文本,表示该项目的评论数量.现在,如果在该项目上,我单击评论并转到新活动B,通过活动B添加评论并按回以返回活动A.当我添加评论时,信息将反映在后端.但问题是,当我按下时,保存的活动A实例显示注释的数量没有更新,因为没有从活动A调用后端.
做这样的事情的标准方法是什么?在按下某些活动时,我应如何刷新活动堆栈中的上一个屏幕?
以下是一些相关的代码片段:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeAsUpIndicator(R.drawable.gallery_page_button_back);
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if(id == android.R.id.home) {
this.finish();
return true;
}
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
Run Code Online (Sandbox Code Playgroud) 我在app start的主片段中处理视图的 .setVisibility().所以我想要的是视图在应用程序启动时是不可见的(为此我在onCreateView中设置了INVISIBLE)并且当我在应用程序打开时从其他活动回到我的片段时可见:为此我尝试使用onRestart ()设置视图 VISIBLE但它无法解析onRestart方法)onRestart已弃用或?谢谢
编辑:对于以下所有建议使用onResume(并给出-1)的答案,onResume根本不作为onRestart工作,因为在onCreateView之后正在调用.