如何获得登录活动只有一次,当我拼命地跑了第一次和下一次的活动不同的充要来 [英] How to get Login Activity only once when i runned for first time and next time differnt activities should come

查看:112
本文介绍了如何获得登录活动只有一次,当我拼命地跑了第一次和下一次的活动不同的充要来的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

When i run application,Login Activity should come only once for first time and next time ,when i open two different Activities should come based on button click in Login Activity. In login activity i kept two radio buttons if i enable first radio button next time when i opened it should show main2 layout and if i enabled second radio button it should show main3 layout.

     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错误这个例子说明了我如何解决这个问题。

In this example when i am running it is getting force closed and showing error in the line button.setonclicklistner.please suggest me how to solve this issue.

推荐答案

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

I have updated my answer to the following. This should work for you now.

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文件:

The main1.xml file:

<?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文件中的设置。我觉得这更整洁,更容易。

I have replaced the onClick listeners to be set within the XML file. I find this neater and easier.

清单文件:

<?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>

这篇关于如何获得登录活动只有一次,当我拼命地跑了第一次和下一次的活动不同的充要来的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆