我有一个ListView,我希望每行填充可用屏幕的三分之一.我可以看到状态栏,然后是一个带有slidingTabs的actionBar.我正在做这样的当前计算:
height = context.getResources().getDisplayMetrics().heightPixels;
if (context.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true))
{
actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data,context.getResources().getDisplayMetrics());
Log.d("actionBarHeigth", actionBarHeight.toString());
}
Run Code Online (Sandbox Code Playgroud)
并设置视图高度如下:
holder.imageView.getLayoutParams().height = (height - actionBarHeight*2) / 3;
Run Code Online (Sandbox Code Playgroud)
但是列表的行有点太大了,我想这是导致它的状态栏.如何将其高度添加到我的计算中?
我创建了一个自定义对象,其中包含 id、名称和短名称。我只想检索 id 并执行 a 操作,",".join()使其成为一个字符串,例如"1, 2"
那么如何将数组转换var recentArray = Array<News>()为仅 id 以逗号分隔的字符串呢?
定制类
class Team: NSObject{
var id: Int!
var name: NSString!
var shortname: NSString!
init(id: Int, name:NSString, shortname: NSString) {
self.id = id
self.name = name
self.shortname = shortname
}
required convenience init(coder aDecoder: NSCoder) {
let id = aDecoder.decodeIntegerForKey("id")
let name = aDecoder.decodeObjectForKey("name") as! String
let shortname = aDecoder.decodeObjectForKey("shortname") as! String
self.init(id: id, name: name, shortname: shortname)
}
func encodeWithCoder(aCoder: NSCoder) { …Run Code Online (Sandbox Code Playgroud) 我正在关注Patrick LeBlanc撰写的《 Microsoft SQL Server 2012》一书。当我使用本书中的示例创建内联表值函数时,出现此标题的错误。我尝试通过右键单击“功能”->“新建”->“内联表值函数”来创建代码,然后更改代码。我还写了本书的全部代码。如我所见,在CREATE FUNCTION语句之前有GO语句。代码看起来像这样,是什么原因造成的?
USE AdventureWorks2016CTP3;
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION dbo.GetOrderDetails
(
@SalesOrderID int
)
RETURNS TABLE
AS
RETURN
(
SELECT
sod.SalesOrderID,
sod.SalesOrderDetailID,
sod.CarrierTrackingNumber
p.Name AS ProductName,
so.Description
FROM Sales.SalesOrderDetail AS sod
INNER JOIN Porduction.Product AS p
ON sod.ProductID = p.ProductID
INNER JOIN Sales.SpecialOffer AS so
ON sod.SpecialOfferID = so.SpecialOfferID
WHERE
sod.SalesOrderID = @SalesOrderID
)
GO
Run Code Online (Sandbox Code Playgroud) 我有一个浮动动作按钮应位于右下角,但显然重力不起作用.它显示在左上角.这是我的代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/rl"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/iv"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="16dp"
android:src="@mipmap/ic_action_send"
app:backgroundTint="@color/colorPrimaryDark"
app:layout_anchor="@id/iv"
app:layout_anchorGravity="bottom|right|end"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud) 对于数组,我如何获取偶数索引的所有值并添加到nameArray和奇数索引处的所有值并添加到scoreArray?我得到了这段代码,但它没有用.
String[] inputArray = {"john", "10", "frank", "14"}
for (int j = 0; j == inputArray.length; j++) {
if ((j % 2) == 0) {
nameArr.add(inputArray[j]);
} else {
scoreArr.add(inputArray[j]);
}
}
Run Code Online (Sandbox Code Playgroud) 我一直在创建一个从 JSON 脚本检索对象的函数。我选择使用 alamofire 进行异步请求,使用 swiftyJSON 进行轻松解析。但是我似乎有一个问题,它阻止了用户界面?当它是异步请求时,为什么会这样做?我是否需要在单独的线程上运行它或者解释是什么?
基本上,我所说的阻止 UI 的意思是,在下面的函数完成执行之前,它不会对其他按钮做出反应。
func getRecent() {
var url = "http://URL/recent.php?lastid=\(lastObjectIndex)&limit=\(numberOfRecordsPerAPICall)"
isApiCalling = true
request(.GET, url, parameters: nil)
.response { (request, response, data, error) in
if error == nil {
let data: AnyObject = data!
let jsonArray = JSON(data: data as! NSData)
if jsonArray.count < self.numberOfRecordsPerAPICall {
self.recentCount = 0
self.tableVIew.tableFooterView = nil
} else {
self.recentCount = jsonArray.count
self.tableVIew.tableFooterView = self.footerView
}
for (key: String, subJson: JSON) in jsonArray {
// Create an …Run Code Online (Sandbox Code Playgroud)