Articles of android activity

如何从活动中分段

我正在使用ActionBarSherlock,我无法前往延伸SherlockFragment活动的课程 我需要从Activity转移到片段类 这是我的Activity类 Intent notificationIntent = new Intent(context,MessagesFragment.class); Fragment类就像 public class MessagesFragment extends SherlockFragment implements OnItemClickListener { // Layout parameters declaration private PullToRefreshListView lv_messages; private ImageView iv_no_data; private LinearLayout ll_bg; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { getSherlockActivity().getSupportActionBar().setDisplayOptions( ActionBar.DISPLAY_SHOW_CUSTOM); getSherlockActivity().getSupportActionBar().setDisplayHomeAsUpEnabled( true); getSherlockActivity().getSupportActionBar().setHomeButtonEnabled(true); getSherlockActivity().getSupportActionBar().setDisplayShowHomeEnabled( true); getSherlockActivity().getSupportActionBar().setCustomView( R.layout.header); getSherlockActivity().getSupportActionBar().setBackgroundDrawable( new ColorDrawable(Color.parseColor(“#009fe3”))); TextView txt = (TextView) […]

如何像Splash屏幕一样只运行一次活动

在我的应用程序中,我想在第一次运行时运行一次启animation面,但问题是我已经放入Manifest这行: android:noHistory=”true”如果我按下后退按钮并退出应用程序,效果很好但请注意,该应用程序仍然在后台运行,当我按下应用程序图标时,它会再次返回到启animation面,然后是我的注册页面。 当我重新打开我的应用程序时,我想直接重定向到注册页面。 我该怎么做呢? 提前感谢任何建议。

在onTaskRemoved之后再次创建服务

我做了一个远程服务,这个服务是在第一次启动时由我的活动启动的,之后,活动总是查看服务是否启动以避免再次启动它。 该服务在onCreate函数中运行一些方法。 此服务始终运行并在启动时启动。 问题(不是一个大问题,但我想知道为什么)是一旦创建服务,如果我停止我的活动调用onTaskRemoved,这是正确的,但几秒后再次调用oncreate方法,服务启动再次。 知道为什么吗? 我该怎么控制呢? AndroidManifest.xml中 if (!isRunning()) { Intent service = new Intent(this, UpdateService.class); startService(service); } else { //Just to debug, comment it later Toast.makeText(this, “Service was running”, Toast.LENGTH_SHORT).show(); } 如果服务未运行,则启动该服务

Android:如何使findViewById(R.id.xxx)在从View类inheritance/扩展的类中工作?

我有以下问题:我想在我的主要活动中添加自定义视图(custom_view.xml和关联的CustomView.java类)。 所以,我做了以下事情: 1)在我的主要活动中(链接到main.xml): CustomView customView = new CustomView(this); mainView.addView(customView); 2)在我的CustomView.java类中(我想链接到custom_view.xml): public class CustomView extends View { public CustomView(Context context) { super(context); /* setContentView(R.layout.custom_view); This doesn’t work here as I am in a class extending from and not from Activity */ TextView aTextView = (TextView) findViewById(R.id.aTextView); // returns null ///etc…. } } 我的问题是aTextView保持等于null …很明显,由于我的custom_view.xml没有链接到我的CustomView.java类。 我该怎么做这个链接? 的确,我尝试了setContentView(R.layout.custom_view); […]

如何使用Bundle在Activity之间传递一个Uri数组

我需要将一个Uri数组传递给另一个活动,传递一个我简单使用的String数组 String[] images=getImagesPathString(); Bundle b = new Bundle(); b.putStringArray(“images”, images); 但是使用一组Uri Uri[] imagesUri=getImagesUri(); 这不起作用,因为在Bundle中没有“putUri(Uri x)”方法 我怎么能解决这个问题?

通过意图关闭来自其他活动的活动

我想从第一个开启一个活动,我想以意图关闭第一个活动。 我试过这个,但接收器不起作用。 我的应用程序中有不同的接收器,所以我希望这个意图仅从FirstReceiver接收。 我该怎么做? public class First extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_first); Intent close = new Intent(getApplicationContext(), Close.class); startActivity(close); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.first, menu); return true; } class FirstReceiver extends […]

在多个活动之间传递数据

我有三个活动,比如我有来自ActivityA的数据,我希望ActivityC检索它,但它必须通过ActivityB,我不希望它对传递的数据做任何事情。 无论如何要做到这一点? 我努力了 ActivityA.java Intent i = new Intent(this, ActivityB.class); i.putExtra(“DATA1”, “Hello”); i.putExtra(“DATA2”, “World”); startActivity(i); ActivityB.java对它没有任何作用,但必须在ActivityC之前看到它。 ActivityC.java Bundle b = getIntent().getExtras(); String data1 = b.getString(“DATA1”); String data2 = b.getString(“DATA2”); 但它给了我这个例外 11-30 02:12:05.165: W/dalvikvm(1134): threadid=1: thread exiting with uncaught exception (group=0x4001d800) 11-30 02:12:05.185: E/AndroidRuntime(1134): FATAL EXCEPTION: main 11-30 02:12:05.185: E/AndroidRuntime(1134): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.src.test/com.src.test.ActivityC}: […]

Android后退按钮不起作用

我正在使用cocos2dx制作一个小游戏,在我的游戏活动中我给出了以下function来处理后退按钮。 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { return super.onKeyDown(keyCode, event); } @Override public void onDestroy() { android.os.Process.killProcess(android.os.Process.myPid()); super.onDestroy(); } 按下后退按钮我在logcat中收到以下警告 无法打开keycharmap文件 加载keycharmap文件’/system/usr/keychars/qtouch-touchscreen.kcm.bin’时出错。 hw.keyboards.65538.devname = ‘的QTouch-触摸屏’ 该调用未达到onKeyDown或onDestroy函数。 请告诉我为什么会出现此警告以及为什么我无法处理android后退按钮。 这些函数在我的java android项目中工作正常,但在我的cocos2d-x项目中没有

在android中将值从一个活动传递到另一个活动

嗨我开发了一个应用程序,当我在文本框中输入一个数字时,它有一个文本框和一个搜索按钮,然后单击搜索按钮,它需要将输入的值传递给下一个活动,在那里它使用该值来获取值来自数据库。 我使用以下代码传递值。 search_button.setClickable(true); search_button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub String outlet_no = outlet_id.getText().toString(); System.out.println(outlet_no); if(!outlet_no.isEmpty()){ @SuppressWarnings(“deprecation”) SharedPreferences myPrefs = getApplicationContext().getSharedPreferences(“myPrefs”, MODE_WORLD_READABLE); SharedPreferences.Editor prefsEditor = myPrefs.edit(); prefsEditor.putString(“outlet_id”, outlet_no); prefsEditor.commit(); Intent myIntent = new Intent(HomeActivity.this, StoreActivity.class); startActivity(myIntent); HomeActivity.this.startActivity(myIntent); } else{ Toast.makeText(getApplicationContext(), “Please enter an outlet id”, Toast.LENGTH_SHORT); } } […]

CalendarView Clickable Android

我在CalendarView中单击日期时尝试启动新活动,但我的事件似乎没有触发。 我已将clickable设置为true并指定了onclick(两者都在xml中) 这是xml: 这是我的日历活动代码: public class CalendarActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_calendar); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_calendar, menu); return true; } public void CalendarClick(View view) { Intent myIntent = new Intent(CalendarActivity.this, MainActivity.class); CalendarActivity.this.startActivity(myIntent); } }