我刚接触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>
Button应该在两个EditTextPreference
s的正下方。
有没有解决此问题的简单方法?我发现的一个解决方案由于我使用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)
。