标签: oncreate

Android:停止在方向更改时重新创建活动

我有一个listview,在main.xml布局中有两个按钮.点击一个按钮,我动态创建一个textview,并将其添加到屏幕底部以确认用户交互.当用户单击第二个按钮(确认按钮)时,我需要将该文本添加到listview.为了支持横向模式,我在layout-land文件夹中有相同的布局文件.当我点击第一个按钮时,它会创建一个包含一些文本的文本视图,并在屏幕底部添加.现在,如果更改设备方向,则它将加载横向main.xml,并且活动将再次重新创建.所以我的textview正在崩溃.如何防止在方向上重新开展活动.(但它应该选择其他布局文件).

android onconfigurationchanged oncreate android-activity

13
推荐指数
2
解决办法
1万
查看次数

Android:onCreate()被多次调用(而不是我)

有些事情我现在还不太明白.

我的主要活动类创建一个Service,它创建一个等待TCP连接的新线程.一旦进入,它将开始一项新活动:

Intent dialogIntent = new Intent(getBaseContext(), VoIPCall.class);
dialogIntent.putExtra("inetAddress", clientSocket.getInetAddress());
dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplication().startActivity(dialogIntent);
Run Code Online (Sandbox Code Playgroud)

之后,onCreate()该类的方法运行.它将创建2个线程:一个记录并发送数据,另一个接收和播放数据.那些线程有一个永远的while循环.

出于某种原因,我注意到onCreate()最后一个类的内容再次被调用,这使我的程序崩溃.我不明白为什么它再次被调用,因为只有2个线程正在运行,没有用户交互.文档说:"首次创建活动时调用.".该活动已在运行,我不是想创建它.

有人可以解释一下这种行为吗?

multithreading android oncreate

12
推荐指数
2
解决办法
2万
查看次数

Android服务onCreate被多次调用而不调用onDestroy

在我的应用程序中,我使用服务与我们的服务器进行通信.该服务生成多个消息队列线程来处理具有不同优先级的任务.

这个模型已经使用了大约一年没有大问题.但是,最近,我发现onCreate我的服务类被多次调用了一段时间.onDestroy从不在两次onCreate通话之间调用.因此,我没有机会杀死现有的线程.一旦发生此行为,服务内部就会出现重复的线程.

我唯一改变的是运行服务,因为前台服务是用户登录应用程序.我想知道前台服务是否会导致问题.

有任何想法吗?

service android oncreate ondestroy

12
推荐指数
2
解决办法
7779
查看次数

Android:关闭应用时保存实例状态

可能重复:
如何保存Android应用程序的状态?

我是Java和Android的新手,并且正在构建一些小项目来学习.我做了一个赚钱跟踪应用程序,允许用户输入值,它只是继续减去它.一切正常,但我希望在关闭并重新打开应用程序时保存或缓存值.阅读,我发现也许OnPause可以做到这一点,但仍然没有100%理解它.

任何人都可以推荐如何做到这一点以及如何申请我的代码?

非常感谢你的帮助!!

package ps.age.sl;


import java.text.NumberFormat;
import java.util.Locale;


import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;


public class MoneyTrackerActivity extends Activity {
    /** Called when the activity is first created. */
        ImageButton subtract;


        EditText startingmoney,submoney, endmoney, tracker;
        Locale currentLocale = Locale.getDefault();





    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

     //   startingmoney = (EditText) findViewById (R.id.firstmoney);
      //  submoney = (EditText) findViewById (R.id.submoney);
       // subtract = (ImageButton) findViewById (R.id.subbutton);
       // endmoney = (EditText) …
Run Code Online (Sandbox Code Playgroud)

android savestate oncreate onpause

11
推荐指数
1
解决办法
3140
查看次数

"在onCreate()之前,活动无法使用系统服务"错误消息?

当用户点击我的应用程序中的图标时,我希望应用程序首先检查设备是否已连接到互联网,然后根据收到的结果执行某些操作(因为知道它只是弹出一个对话框,通知设备是否是是否连接).所以我写了这段代码:

public class MainActivity extends Activity {

// SOME CONSTANTS WILL BE DEFINED HERE

AlertDialog.Builder builder = new AlertDialog.Builder(this);

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    findViewById(R.id.icoMyIcon).setOnClickListener(listener);
}


private OnClickListener listener = new OnClickListener() {

    public void onClick(View v) {
        if (isNetworkConnected()) {
            builder.setMessage("Internet connected!").setCancelable(false)
            .setPositiveButton("OK", null);
            builder.create().show();
        } else {
            builder.setMessage("Internet isn\'t connected!")
            .setCancelable(false)
            .setPositiveButton("OK", null);
            builder.create().show();
        }

    }
};


// Check if the device is connected to the Internet
private boolean isNetworkConnected() {
    ConnectivityManager cm = (ConnectivityManager) …
Run Code Online (Sandbox Code Playgroud)

methods android oncreate

11
推荐指数
2
解决办法
4万
查看次数

OnCreate没有调用Activity

我已经创建AbstractActivityAbstractFormActivity删除了一些样板代码,它们的内容可能与问题无关,但无论如何我都会发布它,也许我误解了一些东西,它们是:

public abstract class AbstractActivity extends ActionBarActivity {

    protected ObjectGraph graph;

    @Inject
    public Bus bus;

    @Inject
    public App app;

    @Override
    public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
        super.onCreate(savedInstanceState, persistentState);
        setContentView(getLayout());
        setupInjection();
    }

    public void setupInjection() {
        graph = ((App) getApplication()).createScopedGraph(getModule());
        graph.inject(this);
        bus.register(this);
        ButterKnife.inject(this);
    }

    protected abstract Object getModule();
    protected abstract int getLayout();
}
Run Code Online (Sandbox Code Playgroud)

public abstract class AbstractFormActivity<T extends EntidadeBase> extends AbstractActivity implements Form<T> {

    protected T entity;
    protected Map<View, Boolean> formValidations;
    protected AbstractFormActivity() {
       formValidations …
Run Code Online (Sandbox Code Playgroud)

android oncreate android-activity

11
推荐指数
1
解决办法
4328
查看次数

Android SDK与viewWillAppear(iOS)相当吗?

情况

我有一个相当简单的应用程序与2"布局"使用SharedPreferences.

  • main.xml中
  • 将Settings.xml

Main有一个textView,它使用来自SharedPreferences的getString.还有一个用于打开设置的按钮.

设置有一个微调器和一个保存到SharedPreferences的按钮.


应用程序加载时,textView会更新,因为我在onCreate(Bundle savedInstanceState)中调用setText()

问题

当我打开设置并更新SharedPreferences时,我使用Back按钮返回Main.

由于我在onCreate()中调用setText(),因此在退出应用程序并再次将应用程序打开到main之前,textView不会再次更新.

从"设置"返回后,我需要使用哪种方法来更新textView?

我的请求类似于iOS的viewWillAppear().

android textview viewwillappear sharedpreferences oncreate

10
推荐指数
1
解决办法
6318
查看次数

错误:SPAN_EXCLUSIVE_EXCLUSIVE跨度不能为零长度

我的Android应用程序出了问题.我有一个按钮和事件关联,但是当我第一次点击时出现错误

"跨度不能为零长度".

.但是当我第二次点击时,事件onclick运行良好..看看我的java代码:

public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final Button selectAltitude = (Button) findViewById(R.id.buttonAltitude1);
    final Button selectAltitude2 = (Button) findViewById(R.id.buttonAltitude2); 

    selectAltitude2.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view){

                String tempAlt = selectAltitude2.getText().toString();
                selectAltitude2.setText(selectAltitude.getText().toString());
                selectAltitude.setText(tempAlt);
        }
    });
    }
Run Code Online (Sandbox Code Playgroud)

带有两个按钮的xml代码(发生了不推荐的警告):

 <?xml version="1.0" encoding="utf-8"?> 
<AbsoluteLayout
  xmlns:android="http://schemas.android.com/apk/res/android" 
  android:orientation="vertical" 
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent"
  android:background="@android:color/black"> 

<Button
        android:id="@+id/buttonAltitude1"
        style="?android:attr/buttonBarButtonStyle"
        android:layout_width="39dp"
        android:layout_height="42dp"
        android:layout_marginLeft="250dp"
        android:layout_x="257dp"
        android:layout_y="419dp"
        android:background="@drawable/drawable1"
        android:focusableInTouchMode="true"
        android:gravity="center_vertical"
        android:includeFontPadding="false"
        android:linksClickable="true"
        android:minHeight="10dp"
        android:minWidth="64dp"
        android:paddingLeft="10dp"
        android:paddingRight="5dp"
        android:scrollHorizontally="true"
        android:text="@string/button_meters"
        android:textColor="@android:color/black"
        android:textSize="22sp"
        android:textStyle="bold" />

        <Button
            android:id="@+id/buttonAltitude2" …
Run Code Online (Sandbox Code Playgroud)

html java android button oncreate

10
推荐指数
1
解决办法
4万
查看次数

锁定屏幕后调用Android onCreate

当我的应用程序在"顶部"运行时锁定屏幕时,系统几乎立即调用onCreate(屏幕仍为黑色).这种破坏性行为可能是什么原因?

lifecycle android locking oncreate android-lifecycle

10
推荐指数
2
解决办法
2693
查看次数

onAttachedToWindow和onStart之间的确切区别是什么?

我有时会看到人们使用这种Activity.onAttachedToWindow方法,但我个人从未使用过它.在阅读它的文档时,它在我看来就像它几乎一样onStart().

我假设的一件事是: onAttachedToWindowonCreate() onStop之后调用之前调用.

我对这个假设是对的吗?什么是两者的代表什么,你什么时候使用哪个?

lifecycle android oncreate android-activity

9
推荐指数
1
解决办法
2万
查看次数