2
public class Password extends Activity{

    Button one, two, three, four, five, six, seven, eight, nine, zero, exit, okay;
    EditText text;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.pass);



        one = (Button) findViewById(R.id.button);
        two = (Button) findViewById(R.id.button2);
        three = (Button) findViewById(R.id.button3);
        four = (Button) findViewById(R.id.button4);
        five = (Button) findViewById(R.id.button5);
        six = (Button) findViewById(R.id.button6);
        seven = (Button) findViewById(R.id.button7);
        eight = (Button) findViewById(R.id.button8);
        nine = (Button) findViewById(R.id.button9);
        exit = (Button) findViewById(R.id.button10);
        zero = (Button) findViewById(R.id.button11);
        okay = (Button) findViewById(R.id.button12);

    }

        public void onClick(View v){
        switch (v.getId()){
            case R.id.button:text.setText("1");
                break;
            case R.id.button2:text.setText("1");
                break;
            case R.id.button3:text.setText("1");
                break;
            case R.id.button4:text.setText("1");
                break;
            case R.id.button5:text.setText("1");
                break;
            case R.id.button6:text.setText("1");
                break;
            case R.id.button7:text.setText("1");
                break;
            case R.id.button8:text.setText("1");
                break;
            case R.id.button9:text.setText("1");
                break;
            case R.id.button10:text.setText("1");
                break;
            case R.id.button11:text.setText("1");
                break;
            case R.id.button12:text.setText("1");
                break;
        }
    }
}

ここに画像の説明を入力

下に添付の写真を作りました。この活動を作りたい。sharedPreferences について何か読みましたが、まだ混乱しています。誰かがこれを達成する方法を教えてもらえますか?

編集:どうもありがとう。私は別のことをしました。switch ケースが機能しなかったので、各ボタンに one.setOnClickListener(){.....} のようなコードを追加しました。それは今働いています。皆様、本当にありがとうございました。私がここに投稿しなかったら、決してアイデアを得ることができなかったでしょう。

4

3 に答える 3

3

更新
これを試してください

public void onClick(View v){
    switch (v.getId()){
        case R.id.button:text.setText(text.getText()+"1");
            break;
        case R.id.button2:text.setText(text.getText()+"2");
            break;
        case R.id.button3:text.setText(text.getText()+"3");
            break;
        case R.id.button4:text.setText(text.getText()+"4");
            break;
        case R.id.button5:text.setText(text.getText()+"5");
            break;
        case R.id.button6:text.setText(text.getText()+"6");
            break;
        case R.id.button7:text.setText(text.getText()+"7");
            break;
        case R.id.button8:text.setText(text.getText()+"8");
            break;
        case R.id.button9:text.setText(text.getText()+"9");
            break;
        case R.id.button10:text.setText("1");
            break;
        case R.id.button11:text.setText("1");
            break;
        case R.id.button12:text.setText("1");
            break;
    }

その他のボタンについては、適切な機能を配置します

編集テキスト用

 android:inputType="number"

また

   android:inputType="numberPassword" 

あなたのedittextin xmlファイルで、SharedPreferencesWaza_Beの回答を参照してください

于 2013-06-24T09:54:40.720 に答える
1

パスワードを設定するには、次のようにすることができます: (これはあまり安全ではなく、銀行アプリ向けではありません ;-) )

    SharedPreferences settings= PreferenceManager.getDefaultSharedPreferences(this);
    SharedPreferences.Editor prefEditor=settings.edit();
    prefEditor.putString("password","123456");
    // if 4 digits: prefEditor.putInt("password",1234);
    prefEditor.commit();

整数の最大値のため、数値の操作は少しトリッキーです。

Java int:int は、-2,147,483,648 から 2,147,483,647 までの範囲の 32 ビット符号付きタイプです。

もちろん、パスワードに 4 桁の PIN を強制する場合、int を使用しても問題はありませんが、TextView/EditText で文字列を使用するため、数字に変更するのは最善のアイデアとは言えません。

ユーザーがアクティビティにログインしたい場合は、入力した内容を比較してください。

settings.getInt("password",-1)
于 2013-06-24T09:47:08.323 に答える