在我的XAML代码中,我想Background
根据一个特定行中对象的值设置每一行的颜色.我有一个ObservableCollection
的z
,并且每个z
有一个叫做财产State
.我开始用这样的东西在我的DataGrid
:
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Background"
Value="{Binding z.StateId, Converter={StaticResource StateIdToColorConverter}}"/>
</Style>
</DataGrid.RowStyle>
Run Code Online (Sandbox Code Playgroud)
这是一种错误的方法,因为x不是我的ViewModel类中的属性.
在我的ViewModel类我有一个ObservableCollection<z>
是在ItemsSource
这DataGrid
,和SelectedItem
类型z
.
我可以绑定颜色SelectedItem
,但这只会改变一行DataGrid
.
我如何根据一个属性更改此行backgroundcolor?
作为Visual Studio安装程序是新从Visual Studio 2017年的版本,我不能位于Visual C++的组成部分,说明这里.
我如何进入vsvars32.bat
VS2017?
我需要做一些事情,当用户点击ImageButton
我试图创建一个实现静态类都 OnClickListener
和OnTouchListener
static class ClickListenerForScrolling implements OnClickListener, OnTouchListener
Run Code Online (Sandbox Code Playgroud)
有以下方法:
@Override
public void onClick(View v)
Run Code Online (Sandbox Code Playgroud)
和
@Override
public boolean onTouch(View arg0, MotionEvent arg1)
Run Code Online (Sandbox Code Playgroud)
这背后的整个想法是更改ImageButton
用户触摸它时的图像源,并在用户单击此按钮时执行任务.任何人都可以给我一个如何做到这一点的提示吗?
我在Android应用程序中遇到了一些内存泄漏.我已经用MAT来分析内存使用情况.但是我在Eclipse中的DDMS观点中有一个问题,1字节数组[byte [],boolean [])是什么意思?
这是否适用于我的申请?你可以看到这是一个很大的内存泄漏问题,这个问题总是会增加,其余的会随机增加和减少.我的猜测是GC没有抓住这种类型.有人能用这些小信息解释为什么会这样吗?
我在我的应用程序中遇到了一些内存泄漏.我第一次怀疑内存泄漏是因为我通过按一个按钮开始一个新的压力测试我的应用程序Activity
.在使用DDMS
和转出a后.hprof file
,我打开了这个文件Eclipse Memory Analyzer
我有三个可能的内存泄漏,如饼图所示:
以及对内存泄漏的描述:
怀疑1
由""加载的122个"android.widget.LinearLayout"实例占用29 585 384(38,74%)个字节.
最大的实例:
•android.widget.LinearLayout @ 0x4258c008 - 2 268 848 (2,97%) bytes.
•android.widget.LinearLayout @ 0x425c8688 - 2 268 848 (2,97%) bytes.
•android.widget.LinearLayout @ 0x425e3988 - 2 268 848 (2,97%) bytes.
•android.widget.LinearLayout @ 0x4296e198 - 2 268 848 (2,97%) bytes.
•android.widget.LinearLayout @ 0x429d3aa8 - 2 268 848 (2,97%) bytes.
•android.widget.LinearLayout @ 0x42a10c78 - 2 268 848 (2,97%) bytes.
•android.widget.LinearLayout @ 0x448a1f10 - 2 268 848 (2,97%) …
Run Code Online (Sandbox Code Playgroud) 在我的启动画面中,我想检查手机是否有SD卡.布尔语句位于:
Boolean isSDPresent = android.os.Environment.getExternalStorageState()
.equals(android.os.Environment.MEDIA_MOUNTED );
Run Code Online (Sandbox Code Playgroud)
所以,如果我的手机插槽中有SDCard,这个布尔值将返回true,到目前为止一直很好.当我从设置菜单转到"卸载SDCard"并删除SDCard,然后杀死应用程序并再次启动它时,布尔值也将为真.
如果我启动Astro File Manager
后卸载并删除SD卡,我仍然可以访问/mnt/sdcard
路径,为什么?
我怎样才能做到这一点?
提前致谢!
编辑
使用以下代码进行测试:
File path = Environment.getExternalStorageDirectory();
String pathS = path.getPath();
Run Code Online (Sandbox Code Playgroud)
当SDCard在插槽中时,pathS
包含mnt/sdcard
,但当我删除SDCard时pathS
仍然是/mnt/sdcard
......
我发现关于这个话题的几个职位,但所有这一切的主题或者设置字体与setTypeFace()
方法上的TextView
对象,或创建该字体设置为自定义类Roboto
和extends
TextView
.据我所知,从API级别11(?)或其他东西,我们可以将TypeFace设置为xml属性,一些如何.像这样:
<TextView
android:id="@+id/profileHeader"
android:layout_width="100dp"
android:layout_height="100dp"
android:typeface="roboto"
android:text="Hello, world">
</TextView>
Run Code Online (Sandbox Code Playgroud)
这样做的正确方法是什么?如果应用程序在低于API级别11(?)的设备上运行,是否可以进行回退:
android:typeface="roboto|monospace|serif"
Run Code Online (Sandbox Code Playgroud) 我有一个超级课程,在图书馆里.这个库负责初始化一些基本的布局组件和其他东西.我的问题是,在设置子指定布局之前,加载布局需要1.x秒,并显示默认布局一段时间.
这是我的超级类的方法:
public void InitializeWindow(Activity act, int layoutResourceId, String windowTitle,
Object menuAdapter, int slideMenuMode) {
super.setContentView(layoutResourceId);
super.setBehindContentView(R.layout.menu_frame);
this.menuAdapter = menuAdapter;
this.slideMenuMode = slideMenuMode;
setWindowTitle(windowTitle);
initializeSlidingMenu();
}
Run Code Online (Sandbox Code Playgroud)
这是这样称呼的:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.InitializeWindow(this, R.layout.activity_home, "\t\tHome",
new MenuAdapter(this, R.menu.slide_menu), SlidingMenu.TOUCHMODE_FULLSCREEN);
}
Run Code Online (Sandbox Code Playgroud)
该应用程序就像一个魅力,但它需要,因为我说1.x秒加载从子类传递的布局.为什么会这样?
根据要求,这是我的initializeSlideMenu()
方法:
public void initializeSlidingMenu() {
this.setSlidingActionBarEnabled(true);
getSlidingMenu().setBehindOffsetRes(R.dimen.actionbar_home_width);
getSlidingMenu().setShadowWidthRes(R.dimen.shadow_width);
getSlidingMenu().setShadowDrawable(R.drawable.shadow);
getSlidingMenu().setTouchModeAbove(slideMenuMode);
getSlidingMenu().setBehindScrollScale(0.25f);
ListView v = new ListView(this);
v.setBackgroundColor(Color.parseColor("#000000"));
v.setAdapter((ListAdapter) menuAdapter);
getSlidingMenu().setMenu(v);
}
Run Code Online (Sandbox Code Playgroud) 正如标题所说:我需要将JLabel放入JFrame中,但JLabel中的文本太长,所以我需要添加一些换行符.JLabel中的文本是从在线XML文件中获取的,因此我只能将文本更改为包含换行符.
此代码从XML文件中提取数据
Element element = (Element)nodes1.item(i);
String vær = getElementValue(element,"body");
String v = vær.replaceAll("<.*>", "" );
String forecast = "Vær: " + v;
Run Code Online (Sandbox Code Playgroud)
在这种情况下,字符串我想在字符串v中添加一些换行符.字符串v包含来自xml文件的已解析数据.返回String预测并将其设置为JLabel的文本.
只要问一下有什么东西未清除,提前谢谢!
我正在尝试使用JavaMail
库和BouncyCastle
库发送加密邮件:
这是我编写的代码,或者我遵循了一个教程:
public class SendMail extends javax.mail.Authenticator {
private String _user;
private String _pass;
private String[] _to;
private String _from;
private String _port;
private String _sport;
private String _host;
private String _subject;
private String _body;
private boolean _auth;
private boolean _debuggable;
private Multipart _multipart;
SharedPreferences sharedPrefs;
InputStream privateKeyStoreInputStream;
InputStream publicCertificateInputStream;
InputStream publicKeystoreInputStream;
public static final String ksPassword = "mobile";
Certificate[] chain;
PrivateKey privateKey;
Certificate rcptCert;
CertificateFactory cf;
public SendMail() {
_user = ""; // username
_pass …
Run Code Online (Sandbox Code Playgroud) android ×7
ddms ×2
java ×2
android-ui ×1
bouncycastle ×1
jakarta-mail ×1
performance ×1
slidingmenu ×1
swing ×1
textview ×1
wpf ×1
wpfdatagrid ×1
xaml ×1