質問
次のような簡単なレイアウトXMLがあるとします。
button.xml:
<Button
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
次の呼び出しに違いはありますか?そして、私はどちらを使うべきですか?
button = (Button) getLayoutInflater().inflate(R.layout.button, null);
と
View v = getLayoutInflater().inflate(R.layout.button, null);
button = (Button) v.findViewById(R.id.button01);
正しい解決策はありません
他のヒント
CSOM ファイルを取得するための次の方法を想定しています。
private static ListItem GetListItem(string url, ICredentials creds, string listTitle,int listItemId)
{
using (var clientContext = new ClientContext(url))
{
clientContext.Credentials = creds;
var list = clientContext.Web.Lists.GetByTitle(listTitle);
var listItem = list.GetItemById(listItemId);
clientContext.Load(list);
clientContext.Load(listItem,i => i.File);
clientContext.ExecuteQuery();
return listItem;
}
}
.
private static ListItem GetListItem(string url, ICredentials creds, string listTitle,int listItemId)
{
using (var clientContext = new ClientContext(url))
{
clientContext.Credentials = creds;
var list = clientContext.Web.Lists.GetByTitle(listTitle);
var listItem = list.GetItemById(listItemId);
clientContext.Load(list);
clientContext.Load(listItem,i => i.File);
clientContext.ExecuteQuery();
return listItem;
}
}
ファイルのチェックアウト状態を確認する( checkouttype )
var listItem = GetListItem("https://contoso.sharepoint.com", credentials, "Documents", 1);
var file = listItem.File;
if (file.CheckOutType != CheckOutType.None)
{
//file was checked out
}
.
チェックアウトステータスを確認する方法( spfile。SSOM )
SPFile file = item.File;
if (file.CheckOutStatus != SPFile.SPCheckOutStatus.None)
{
//file was checked out
}
.
SPFile file = item.File;
if (file.CheckOutStatus != SPFile.SPCheckOutStatus.None)
{
//file was checked out
}
最初のオプションはよりクリーンで、わずかに効率的です。
レイアウトインフレーターはaを返します Button
. 。最初のオプションを使用すると、 Button
直接。 2番目のオプションを使用すると、ボタンをキャストします View
次に、特定のIDを使用してビューを探します。これは、階層で探しているIDのビューがたまたまボタン自体であるため、特別な役に立たない比較です。したがって、2番目のオプションでは、 v == button
.
所属していません StackOverflow