Android 内容很快就会消失

Android 内容很快就会消失,android,Android,正在构建我的第一个android应用程序,我有一个简单的按钮,可以获取用户的位置(并将其保存在数据库中)。当我点击这个按钮时,我想加载的页面会加载,但信息保存在数据库中后,页面会很快消失。我相信这很简单,但就我的一生而言,我无法让新的活动保持不变。基本的问题是,在从下面的第一段代码中单击按钮后,如何使带有ACTIVE的textview保持在屏幕上 下面是java类中启动活动的按钮: public class WalkerMain extends ActionBarActivity impleme

正在构建我的第一个android应用程序,我有一个简单的按钮,可以获取用户的位置(并将其保存在数据库中)。当我点击这个按钮时,我想加载的页面会加载,但信息保存在数据库中后,页面会很快消失。我相信这很简单,但就我的一生而言,我无法让新的活动保持不变。基本的问题是,在从下面的第一段代码中单击按钮后,如何使带有ACTIVE的textview保持在屏幕上

下面是java类中启动活动的按钮:

public class WalkerMain extends ActionBarActivity implements View.OnClickListener{
    private Button mActive;
    public String user = null;
    public Integer user_id = 0;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.walker_app);
        Bundle extras = getIntent().getExtras();

        if (extras != null) {
            user = extras.getString("user");
            user_id = extras.getInt("user_id");
            Log.d("In WalkerMain!", user);
        }
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        if (toolbar != null) {
            setSupportActionBar(toolbar);
        }
        mActive = (Button) findViewById(R.id.go_active);
        // register listeners
        mActive.setOnClickListener(this);
    }
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
                Intent i = new Intent(this, WalkerActive.class);
                i.putExtra("user", user);
                i.putExtra("user_id", user_id);
                startActivity(i);

        }
    }
以及更新用户信息的活动,它应该只在contentview上显示一个简单的文本框

public class WalkerActive extends ActionBarActivity implements
        GoogleApiClient.ConnectionCallbacks,
        GoogleApiClient.OnConnectionFailedListener,
        LocationListener
{

    private ProgressDialog pDialog;

    //ids
    private static final String TAG_SUCCESS = "success";
    private static final String TAG_MESSAGE = "message";
    public Double lat, lon;
    public Integer radius = 0;
    public String user = null;
    public Integer user_id = null;
    public JSONParser jsonParser = new JSONParser();

    private static final String UPDATE_URL = "...";
    private final String TAG = "APP";

    private TextView mLocationView;

    private GoogleApiClient mGoogleApiClient;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.walker_active);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        if (toolbar != null) {
            setSupportActionBar(toolbar);
        }

        mGoogleApiClient = new GoogleApiClient.Builder(this)
                .addApi(LocationServices.API)
                .addConnectionCallbacks(this)
                .addOnConnectionFailedListener(this)
                .build();
    }

    @Override
    protected void onStart() {
        super.onStart();
        // Connect the client.
        mGoogleApiClient.connect();
    }

    @Override
    protected void onStop() {
        // Disconnecting the client invalidates it.
        mGoogleApiClient.disconnect();
        super.onStop();
    }

    @Override
    public void onConnected(Bundle bundle) {
        // Display the connection status
        LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        List<String> providers = lm.getProviders(true);

        /* Loop over the array backwards, and if you get an accurate location, then break out the loop*/
        Location l = null;

        for (int i=providers.size()-1; i>=0; i--) {
            l = lm.getLastKnownLocation(providers.get(i));
            if (l != null) break;
        }

        if (l != null) {
            lat = l.getLatitude();
            lon = l.getLongitude();
        }
        Bundle extras = getIntent().getExtras();
        if (extras != null) {
            user = extras.getString("user");
            user_id = extras.getInt("user_id");
            Log.d("In WalkerActive", user);
        }
        String ret_value = null;
        try {
            ret_value = new UpdateActive().execute().get();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    @Override
    public void onConnectionSuspended(int i) {
        Log.i(TAG, "GoogleApiClient connection has been suspend");
    }

    @Override
    public void onConnectionFailed(ConnectionResult connectionResult) {
        Log.i(TAG, "GoogleApiClient connection has failed");
    }

    @Override
    public void onLocationChanged(Location location) {
        mLocationView.setText("Location received: " + location.toString());
    }



    class UpdateActive extends AsyncTask<String, String, String> {


        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            pDialog = new ProgressDialog(WalkerActive.this);
            pDialog.setMessage("Going Active...");
            pDialog.setIndeterminate(false);
            pDialog.setCancelable(true);
            pDialog.show();
        }

        @Override
        protected String doInBackground(String... args) {
            // TODO Auto-generated method stub
            // Check for success tag
            int success;
            try {
                // Building Parameters
                List<NameValuePair> params = new ArrayList<NameValuePair>();
                params.add(new BasicNameValuePair("user_id", user_id.toString()));
                params.add(new BasicNameValuePair("radius", radius.toString()));
                params.add(new BasicNameValuePair("lat", lat.toString()));
                params.add(new BasicNameValuePair("lon",lon.toString()));
                Log.d("request!", "starting");
                Log.d("params",params.toString());
                JSONObject json_update = jsonParser.makeHttpRequest(
                        UPDATE_URL, "POST", params);
                //Log.d("completed",json.toString());
                // full json_update response
                Log.d("Updated Activity", json_update.toString());

                // json_update success element
                success = json_update.getInt(TAG_SUCCESS);
                if (success == 1) {
                    Log.d("Updated Activity!", json_update.toString());
                    finish();
                    return json_update.getString(TAG_MESSAGE);
                }else{
                    Log.d("Registering Failure!", json_update.getString(TAG_MESSAGE));
                    return json_update.getString(TAG_MESSAGE);

                }
            } catch (JSONException e) {
                e.printStackTrace();
            }

            return null;

        }

        protected void onPostExecute(String file_url) {
            // dismiss the dialog once product deleted
            pDialog.dismiss();

        }

    }
}
公共类WalkerActive扩展ActionBarActivity实现
GoogleAppClient.ConnectionCallbacks,
GoogleAppClient.OnConnectionFailedListener,
位置侦听器
{
私人对话;
//身份证
私有静态最终字符串标记_SUCCESS=“SUCCESS”;
私有静态最终字符串标记_MESSAGE=“MESSAGE”;
公共双lat,lon;
公共整数半径=0;
公共字符串user=null;
公共整数用户_id=null;
public-JSONParser-JSONParser=new-JSONParser();
私有静态最终字符串更新_URL=“…”;
私有最终字符串TAG=“APP”;
私有文本视图mLocationView;
私人GoogleapClient MGoogleapClient;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.walker_激活);
Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar);
如果(工具栏!=null){
设置支持操作栏(工具栏);
}
mgoogleapclient=新的Googleapclient.Builder(此)
.addApi(LocationServices.API)
.addConnectionCallbacks(此)
.addOnConnectionFailedListener(此)
.build();
}
@凌驾
受保护的void onStart(){
super.onStart();
//连接客户端。
mGoogleApiClient.connect();
}
@凌驾
受保护的void onStop(){
//断开客户端连接会使其失效。
mGoogleApiClient.disconnect();
super.onStop();
}
@凌驾
未连接的公共空间(捆绑包){
//显示连接状态
LocationManager lm=(LocationManager)getSystemService(Context.LOCATION\u服务);
列表提供程序=lm.getProviders(true);
/*向后循环阵列,如果得到准确位置,则中断循环*/
位置l=空;
对于(int i=providers.size()-1;i>=0;i--){
l=lm.getLastKnownLocation(providers.get(i));
如果(l!=null)中断;
}
如果(l!=null){
lat=l.getLatitude();
lon=l.getLongitude();
}
Bundle extras=getIntent().getExtras();
如果(附加值!=null){
user=extras.getString(“用户”);
user_id=extras.getInt(“user_id”);
Log.d(“在WalkerActive中”,用户);
}
字符串ret_值=null;
试一试{
ret_value=new UpdateActive().execute().get();
}捕获(例外e){
e、 printStackTrace();
}
}
@凌驾
公共空间连接暂停(int i){
Log.i(标记“GoogleAppClient连接已挂起”);
}
@凌驾
公共无效onConnectionFailed(ConnectionResult ConnectionResult){
Log.i(标记“GoogleAppClient连接失败”);
}
@凌驾
已更改位置上的公共无效(位置){
mLocationView.setText(“接收到的位置:+Location.toString());
}
类UpdateActive扩展了异步任务{
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
pDialog=新建进度对话框(WalkerActive.this);
设置消息(“正在激活…”);
pDialog.setUndeterminate(假);
pDialog.setCancelable(真);
pDialog.show();
}
@凌驾
受保护的字符串doInBackground(字符串…args){
//TODO自动生成的方法存根
//检查成功标签
成功;
试一试{
//建筑参数
List params=new ArrayList();
add(新的BasicNameValuePair(“user_id”,user_id.toString());
添加(新的BasicNameValuePair(“radius”,radius.toString());
添加参数(新的BasicNameValuePair(“lat”,lat.toString());
添加(新的BasicNameValuePair(“lon”,lon.toString());
Log.d(“请求!”,“启动”);
Log.d(“params”,params.toString());
JSONObject json_update=jsonParser.makeHttpRequest(
更新URL,“发布”,参数);
//Log.d(“completed”,json.toString());
//完整json_更新响应
Log.d(“更新的活动”,json_update.toString());
//json_更新成功元素
success=json_update.getInt(TAG_success);
如果(成功==1){
Log.d(“更新的活动!”,json_update.toString());
完成();
返回json_update.getString(TAG_消息);
}否则{
Log.d(“注册失败!”,json_update.getString(TAG_MESSAGE));
返回json_update.getString(TAG_消息);
}
}捕获(JSONException e){
e、 printStackTrace();
}
返回null;
}
受保护的void onPostExecute(字符串文件\u url){
//删除产品后关闭对话框
pDialog.disclose();
}
}
}
walker_active.xml非常简单

<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    <android.support.v7.widget.Toolbar
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimaryDark"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="ACTIVE"
        android:id="@+id/textView"
        android:layout_gravity="center_horizontal"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true" />

</RelativeLayout>

查看您的
if (success == 1) {
                    Log.d("Updated Activity!", json_update.toString());
                    finish();
                    return json_update.getString(TAG_MESSAGE);
                }