如何获得登录活动只有一次,当我拼命地跑了第一次和下一次不同的充活动应该来(How to get Lo

2019-07-29 03:49发布

当我运行的应用程序,登录活动应该只来过一次了第一次和下一次,当我打开两个不同的活动基础上登录活动点击按钮应该来。 在登录活动我一直在两个单选按钮,如果我能第一个单选按钮下一次当我打开它应该显示MAIN2布局,如果我启用的第二无线电按钮,它应该显示main3布局。

     public class Demo1 extends Activity {
        Button b1,b2;
        int count=0;
      public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);

      SharedPreferences settings = this.getSharedPreferences("MyApp",0);
      boolean firstrun=settings.getBoolean("firstrun",true);
      if (firstrun) {
        SharedPreferences.Editor e = settings.edit();
        e.putBoolean("firstrun",false);
        e.commit();


      setContentView(R.layout.main1);
      }
      else{
         test();
      }
      b1=(Button)findViewById(R.id.button1);
      b2=(Button)findViewById(R.id.button2);
     b1.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            count=1;
            Intent intent = new Intent(Demo1.this, ButtonActivate1.class);
              startActivity(intent);
        }
    });
     b2.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            count=2;
            // TODO Auto-generated method stub
            Intent intent = new Intent(Demo1.this, ButtonActivate1.class);
              startActivity(intent);
        }
    });




 }
private void test() {
    // TODO Auto-generated method stub
    if(count==1)
    {
        setContentView(R.layout.main2);
    }
    if(count==2)
    {
        setContentView(R.layout.main3);
    }
}

}

在当我运行它越来越强制关闭,并显示在该行button.setonclicklistner.please错误这个例子表明我如何来解决这个问题。

Answer 1:

我已经更新我的回答如下。 这个现在应该为你工作。

package com.demo1;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;

public class Demo1Activity extends Activity {
    private int count;
    private SharedPreferences settings;


    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        settings = this.getSharedPreferences("MyApp",0);
        count = settings.getInt("count", 0);

        selectContentView();
    }

    public void button1Method(View v) {
        setCount(1);
        Intent intent = new Intent(Demo1Activity.this, Demo2Activity.class);
        startActivity(intent);
    }

    public void button2Method(View v) {
        setCount(2);
        Intent intent = new Intent(Demo1Activity.this, Demo3Activity.class);
        startActivity(intent);
    }


    private void selectContentView() {
        // TODO Auto-generated method stub
        switch (count) {
        case 1:
            setContentView(R.layout.main2);
            break;
        case 2:
            setContentView(R.layout.main3);
            break;
        default:
            setContentView(R.layout.main1);
        }
    }

    private void setCount(int count) {
        SharedPreferences.Editor e = settings.edit();
        e.putInt("count",count);
        e.commit();
    }
}

该main1.xml文件:

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

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="main1" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/button1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0.5"
            android:onClick="button1Method"
            android:text="button1" />

        <Button
            android:id="@+id/button2"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0.5"
            android:onClick="button2Method"
            android:text="button2" />
    </LinearLayout>

</RelativeLayout>

我已经取代了听众的onClick要在XML文件中的设置。 我觉得这更整洁,更容易。

清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.demo1"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="10" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".Demo1Activity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".Demo2Activity"
            android:label="@string/app_name" />
        <activity
            android:name=".Demo3Activity"
            android:label="@string/app_name" />
    </application>

</manifest>


文章来源: How to get Login Activity only once when i runned for first time and next time differnt activities should come