public List<String> getSms() { Uri mSmsQueryUri = Uri.parse("content://sms/inbox"); List<String> messages = new ArrayList<String>(); Cursor cursor = null; try { cursor = mContentResolver.query(mSmsQueryUri, null, null, null, null); if (cursor == null) { Log.i(TAG, "cursor is null. uri: " + mSmsQueryUri); return messages; } for (boolean hasData = cursor.moveToFirst(); hasData; hasData = cursor.moveToNext()) { final String body = cursor.getString(cursor.getColumnIndexOrThrow("body")); messages.add(body); } } catch (Exception e) { Log.e(TAG, e.getMessage()); } finally { cursor.close(); } return messages; }
今天重写了一个public class FixedFlipper extends ViewFlipper{
public FixedFlipper(Context context){
super(context);
}
public FixedFlipper(Context context, AttributeSet attrs){
super(context, attrs);
}
@Override
protected void onDetachedFromWindow(){
try{
super.onDetachedFromWindow();
}catch(Exception e){
super.stopFlipping();
}
}
}
引用的时候
按照思维定势
<com.site.TestApp.FixedFlipper
android:id="@+id/flipper">
...
</com.site.TestApp.FixedFlipper>
结果错误
原来我是写的类 不是重写的view
因此应该
<view
android:id="@+id/flipper"
...
</view>
AlertDialog背景的修改是不允许使用xml的去修改的
如果你是用
<style name="MyOpaqueActivity" parent="@android:style/Theme.Dialog">
<item name="android:windowBackground">@drawable/my_background</item>
<item name="android:alertDialogStyle">@style/MyOpaqueAlertDialog</item>
</style>
<style name="MyOpaqueAlertDialog" parent="@android:style/Theme.Dialog.Alert">
<item name="android:background">#454545</item>
<item name="android:windowBackground">@drawable/my_background</item>
<item name="android:popupBackground">@drawable/my_background</item>
</style>
然后应用到你的整个程序中你会发现 背景色改了my_background起作用了,但是MyOpaqueAlertDialog不能起作用
也就是说AlertDialog不能在xml中该
只能硬编码
protected AlertDialog(Context context) {
this(context, com.android.internal.R.style.Theme_Dialog_Alert);
}
public Builder(Context context) {
this(context, com.android.internal.R.style.Theme_Dialog_Alert);
}
protected AlertDialog(Context context) {
this(context, com.android.internal.R.style.Theme_Dialog_Alert);
}
public Builder(Context context) {
this(context, com.android.internal.R.style.Theme_Dialog_Alert);
}
看不明白。。。请问是什么意思?继承修改吗?但是继承修改哦,因为Builder的oncreat()返回的是AlertDialog类型的,oncreat用到了不公开的东西=,=
所以还是不明白怎么修改。麻烦解析一下可以吗?
我就是想要AlertDialog(context,theme)初始化示例,但是protected=。=要怎么做?
谢谢指导