<PreferenceScreen
android:key="perference_bottom"
android:layout="@layout/perference_bottom"
android:title="perference_bottom" >
</PreferenceScreen>
@layout/perference_bottom里面有三个button,怎么设置这按钮的监听啊。在一个activity里设置的报空指针异常,在PreferenceFragment里设置的时候findviewbyid直接报错,这个要怎样设置监听啊!
12 个解决方案
#1
必须自爆一个顶下……
#2
大神们吃晚饭了来看看啊!
#3
这什么情况的节奏,没人这么折腾过吗
#4
关注一下,同样的问题!
#5
楼主问题解决了吗?同问啊
#6
同样的问题,这个问题有解决办法了吗?
#7
.xml:
<Button
android:id="@+id/btnUpdate"
android:layout_width="112dp"
android:layout_height="wrap_content"
android:text="Update"
android:onClick="doUpdate" />
.java:
public void doUpdate(View v) {
...
}
<Button
android:id="@+id/btnUpdate"
android:layout_width="112dp"
android:layout_height="wrap_content"
android:text="Update"
android:onClick="doUpdate" />
.java:
public void doUpdate(View v) {
...
}
#8
应该是引用布局中的的button控件
#9
这几天刚遇到同样的功能,搜到你也遇到同样的问题,解决了,顺便把我解决的方法贴出来,应该对你有用。
你是要在一个Preference里加载一个自定义布局,可以这样做:
自己写一个类TextPreference,继承Preference,调用自定义布局文件如下:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:title="@string/storage_settings_title" >
<PreferenceCategory
android:key="phone_memory_category"
android:title="@string/storage_settings_title" >
<com.android.settings.deviceinfo.TextPreference //自定义类
android:fragment="com.android.settings.deviceinfo.Memory"
android:key="phone_memory_ll"
/>
</PreferenceCategory>
</PreferenceScreen>
在TextPreference类里面复写onCreateView方法,
protected View onCreateView(ViewGroup parent) {
// TODO Auto-generated method stub
LayoutInflater inflater=(LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.phone_memory_linear_layout, null);
mMaxTitle = (TextView)layout.findViewById(R.id.max_title);
return layout;
}
然后你就可以欢快滴findViewById了。
不是为了分,为了同样苦逼的IT民工吧。
你是要在一个Preference里加载一个自定义布局,可以这样做:
自己写一个类TextPreference,继承Preference,调用自定义布局文件如下:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:title="@string/storage_settings_title" >
<PreferenceCategory
android:key="phone_memory_category"
android:title="@string/storage_settings_title" >
<com.android.settings.deviceinfo.TextPreference //自定义类
android:fragment="com.android.settings.deviceinfo.Memory"
android:key="phone_memory_ll"
/>
</PreferenceCategory>
</PreferenceScreen>
在TextPreference类里面复写onCreateView方法,
protected View onCreateView(ViewGroup parent) {
// TODO Auto-generated method stub
LayoutInflater inflater=(LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.phone_memory_linear_layout, null);
mMaxTitle = (TextView)layout.findViewById(R.id.max_title);
return layout;
}
然后你就可以欢快滴findViewById了。
不是为了分,为了同样苦逼的IT民工吧。
#10
Activity继承PreferenceActivity
addPreferencesFromResource(R.xml.preference);//这句加载自定义的Preference文件
Button btn=(Button) findPreference("btnKey");//这里就像findViewById一样,不过这里的id其实是key的值..
这样就得到了xml中控件了,之后想怎么操作就怎么操作了!
#11
为什么我在最后面加了一个自定义的布局,但是跟其他的一样的样式,不想要这种样式怎么办?
#12
请问,这个android:fragment="com.android.settings.deviceinfo.Memory 是什么,这是哪个类啊??
#1
必须自爆一个顶下……
#2
大神们吃晚饭了来看看啊!
#3
这什么情况的节奏,没人这么折腾过吗
#4
关注一下,同样的问题!
#5
楼主问题解决了吗?同问啊
#6
同样的问题,这个问题有解决办法了吗?
#7
.xml:
<Button
android:id="@+id/btnUpdate"
android:layout_width="112dp"
android:layout_height="wrap_content"
android:text="Update"
android:onClick="doUpdate" />
.java:
public void doUpdate(View v) {
...
}
<Button
android:id="@+id/btnUpdate"
android:layout_width="112dp"
android:layout_height="wrap_content"
android:text="Update"
android:onClick="doUpdate" />
.java:
public void doUpdate(View v) {
...
}
#8
应该是引用布局中的的button控件
#9
这几天刚遇到同样的功能,搜到你也遇到同样的问题,解决了,顺便把我解决的方法贴出来,应该对你有用。
你是要在一个Preference里加载一个自定义布局,可以这样做:
自己写一个类TextPreference,继承Preference,调用自定义布局文件如下:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:title="@string/storage_settings_title" >
<PreferenceCategory
android:key="phone_memory_category"
android:title="@string/storage_settings_title" >
<com.android.settings.deviceinfo.TextPreference //自定义类
android:fragment="com.android.settings.deviceinfo.Memory"
android:key="phone_memory_ll"
/>
</PreferenceCategory>
</PreferenceScreen>
在TextPreference类里面复写onCreateView方法,
protected View onCreateView(ViewGroup parent) {
// TODO Auto-generated method stub
LayoutInflater inflater=(LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.phone_memory_linear_layout, null);
mMaxTitle = (TextView)layout.findViewById(R.id.max_title);
return layout;
}
然后你就可以欢快滴findViewById了。
不是为了分,为了同样苦逼的IT民工吧。
你是要在一个Preference里加载一个自定义布局,可以这样做:
自己写一个类TextPreference,继承Preference,调用自定义布局文件如下:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:title="@string/storage_settings_title" >
<PreferenceCategory
android:key="phone_memory_category"
android:title="@string/storage_settings_title" >
<com.android.settings.deviceinfo.TextPreference //自定义类
android:fragment="com.android.settings.deviceinfo.Memory"
android:key="phone_memory_ll"
/>
</PreferenceCategory>
</PreferenceScreen>
在TextPreference类里面复写onCreateView方法,
protected View onCreateView(ViewGroup parent) {
// TODO Auto-generated method stub
LayoutInflater inflater=(LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.phone_memory_linear_layout, null);
mMaxTitle = (TextView)layout.findViewById(R.id.max_title);
return layout;
}
然后你就可以欢快滴findViewById了。
不是为了分,为了同样苦逼的IT民工吧。
#10
Activity继承PreferenceActivity
addPreferencesFromResource(R.xml.preference);//这句加载自定义的Preference文件
Button btn=(Button) findPreference("btnKey");//这里就像findViewById一样,不过这里的id其实是key的值..
这样就得到了xml中控件了,之后想怎么操作就怎么操作了!
#11
为什么我在最后面加了一个自定义的布局,但是跟其他的一样的样式,不想要这种样式怎么办?
#12
请问,这个android:fragment="com.android.settings.deviceinfo.Memory 是什么,这是哪个类啊??