私はAndroid開発にかなり慣れていないので、プリファレンスに出会いました。それを見つけPreferenceScreen
てログイン機能を作成したいと思いました。唯一の問題は、「ログイン」ボタンをに追加する方法がわからないことPreferenceScreen
です。
これが私のPreferenceScreen
姿です:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
...
<PreferenceScreen android:title="@string/login" android:key="Login">
<EditTextPreference android:persistent="true" android:title="@string/username" android:key="Username"></EditTextPreference>
<EditTextPreference android:title="@string/password" android:persistent="true" android:password="true" android:key="Password"></EditTextPreference>
</PreferenceScreen>
...
</PreferenceScreen>
ボタンは2つEditTextPreference
ののすぐ下にある必要があります。
この問題の簡単な解決策はありますか?私が見つけた1つの解決策は、sub PreferenceScreen
s を使用しているため機能していませんでした。
更新:
私はこの方法でボタンを追加できることを理解しました:
<PreferenceScreen android:title="@string/login" android:key="Login">
<EditTextPreference android:persistent="true" android:title="@string/username" android:key="Username"></EditTextPreference>
<EditTextPreference android:title="@string/password" android:persistent="true" android:password="true" android:key="Password"></EditTextPreference>
<Preference android:layout="@layout/loginButtons" android:key="loginButtons"></Preference>
</PreferenceScreen>
レイアウトファイル(loginButtons.xml
)は次のようになります。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:weightSum="10"
android:baselineAligned="false" android:orientation="horizontal">
<Button android:text="Login" android:layout_width="fill_parent"
android:layout_weight="5" android:layout_height="wrap_content"
android:id="@+id/loginButton" android:layout_gravity="left"></Button>
<Button android:text="Password?" android:layout_width="fill_parent"
android:layout_weight="5" android:layout_height="wrap_content"
android:id="@+id/forgottenPasswordButton"></Button>
</LinearLayout>
これでボタンが表示されますが、コードでアクセスできません。私はそれを試しましたfindViewById()
が、これはnullを返します。これらのボタンにアクセスする方法はありますか?
android:onClick="method"
各ボタンに追加するだけpublic void method(View v)
です。ここで、メソッドはとしてアクティビティで定義されています。