在学习课程时,我被指示为按钮创建一个xml选择器.该课程说在eclipse中制作一个新的android xml,但我正在使用android studio.
此外,当我自定义编写代码时,它给了我一个错误.它说"必须声明元素选择器".

从这里获得代码:Android:如何制作可绘制选择器.有没有人知道如何在android studio中这样做?
这是堆栈跟踪:
java.lang.NullPointerException
at com.android.layoutlib.bridge.impl.RenderSessionImpl.isThemeAppCompat(RenderSessionImpl.java:1201)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.findStatusBar(RenderSessionImpl.java:1063)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.init(RenderSessionImpl.java:206)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:319)
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:350)
at com.android.tools.idea.rendering.RenderService$5.compute(RenderService.java:708)
at com.android.tools.idea.rendering.RenderService$5.compute(RenderService.java:697)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:932)
at com.android.tools.idea.rendering.RenderService.createRenderSession(RenderService.java:697)
at com.android.tools.idea.rendering.RenderService.render(RenderService.java:816)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.doRender(AndroidLayoutPreviewToolWindowManager.java:646)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.access$1700(AndroidLayoutPreviewToolWindowManager.java:82)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7$1.run(AndroidLayoutPreviewToolWindowManager.java:589)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:178)
at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:209)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:212)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:171)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7.run(AndroidLayoutPreviewToolWindowManager.java:584)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:310)
at com.intellij.util.ui.update.MergingUpdateQueue$2.run(MergingUpdateQueue.java:254)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:269)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:227)
at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:217)
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238)
at com.intellij.util.Alarm$Request$1.run(Alarm.java:327)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud)
另一个活动使用相同的主题,并在渲染器中正常工作.如果有帮助,主题基于Theme.AppCompat.Light.我用完全相同的XML替换了文件,它工作正常,但编辑声称它无法找到它并开始随处闪烁.重启后它有同样的问题.
我花了好几个小时试图解决这个问题并且一无所获.请帮我.
我有一个带有3个选项卡的简单项目.当用户点击第一个标签上的项目上的按钮时,我需要该项目移动到第二个标签,反之亦然.(当发生这种情况时,我还需要通知服务器).有没有办法让我将项目对象传递给About-Page选项卡中的数组,反之亦然?
home.html的
<ion-header>
<ion-toolbar>
<ion-title>Home</ion-title>
<ion-buttons end>
<button ion-button icon-only color="royal" (click)="updateData()">
<ion-icon name="refresh"></ion-icon>
</button>
</ion-buttons>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-list>
<ion-item-sliding *ngFor="let item of items">
<ion-item>
<ion-icon name="alert" *ngIf="!item.taken" item-left></ion-icon>
<ion-icon name="checkmark-circle-outline" *ngIf="item.taken" item-left></ion-icon>
<h2><b>{{item.title}}</b></h2>
<h3>{{item.name}} | {{item.number}}</h3>
<h3 style="white-space: normal;"><b>Details:</b> {{item.text}}</h3>
</ion-item>
<ion-item-options side="left">
<button ion-button color="primary" (click)="smsPressed(item)">
<ion-icon name="text"></ion-icon>
Text
</button>
<button ion-button color="secondary" (click)="phonePressed(item)">
<ion-icon name="call"></ion-icon>
Call
</button>
</ion-item-options>
<ion-item-options side="right">
<button ion-button color="primary" *ngIf="item.taken" (click)="responderPressed(item)">
<ion-icon name="person"></ion-icon>
Responder
</button>
<button ion-button color="primary" *ngIf="!item.taken" (click)="takecallPressed(item)">
<ion-icon name="navigate"></ion-icon> …Run Code Online (Sandbox Code Playgroud) 当尝试在 docker 构建期间生成使用head当前提交哈希调用的文件时(用于内部 .NET 服务版本控制),docker 似乎根本无法将该.git文件夹拉入映像中。
鉴于以下情况DockerFile
FROM alpine/git AS version
WORKDIR /src
COPY .git/ ./.git/
RUN git rev-parse HEAD > head
Run Code Online (Sandbox Code Playgroud)
有时候是这样的:
=> ERROR [version 2/4] COPY .git/ ./.git/ 0.0s
------
> [version 2/4] COPY .git/ ./.git/:
------
failed to compute cache key: "/.git" not found: not found
Run Code Online (Sandbox Code Playgroud)
也许更有趣的是,使用COPY . .它时会失败,如下所示:
=> ERROR [version 4/4] RUN git rev-parse HEAD > head 1.7s
------
> [version 4/4] RUN git rev-parse HEAD > head: …Run Code Online (Sandbox Code Playgroud) 我在这个应用程序下有两个文件搞砸了.一个更新缓存,另一个是models.py文件.出于某种原因,ImportError: cannot import name 'Cache'每当我尝试加载服务器时,我都会得到.将Cache定义移到定义之上NavigationItem适用于一次测试启动,但每次都失败了.
navbar/models.py
from django.db import models
from navbar.generator import update_navigation
from datetime import datetime
import logging
class NavigationItem(models.Model):
# The title used in the navar
title = models.CharField(max_length=25, blank=False)
# The dir it points to
dir = models.ForeignKey('library.Dir', blank=True, null=True)
# The level above it
previous_level = models.ForeignKey('NavigationItem', on_delete=models.SET_NULL, null=True, blank=True)
# Is it on the top level
top_level = models.BooleanField(default=False)
# Shortcut
show_all_subdirs = models.BooleanField(default=False)
# position on the …Run Code Online (Sandbox Code Playgroud) 好的,这是代码的问题
lives_group = pygame.sprite.Group()
life_pos = [603,566,529,492]
pos = 0
for life in range(0,ship.lives):
live = game_display.Life([10, life_pos[pos]])
lives_group.add(live)
Run Code Online (Sandbox Code Playgroud)
.Life ting是这样的:
class Life(pygame.sprite.Sprite):
def __init__(self, location):
self.image = pygame.image.load('Spaceship_life.png')
self.rect = self.image.get_rect()
self.rect.left, self.rect.top = location
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
Traceback (most recent call last):
File "C:\Users\------\My programs\old\GUI based games\Spaceblaster\0.1\main.py", line 17, in <module>
lives_group.add(live)
File "C:\Python33\lib\site-packages\pygame\sprite.py", line 360, in add
sprite.add_internal(self)
File "C:\Python33\lib\site-packages\pygame\sprite.py", line 163, in add_internal
self.__g[group] = 0
AttributeError: 'Life' object has no attribute '_Sprite__g'
Run Code Online (Sandbox Code Playgroud)
对不起我的名字,但我保持它的长度以防万一
我正在向服务器发送get请求,它需要JWT令牌进行身份验证.然而,Ionic坚持要做一个pref-etch请求,没有一个并且崩溃.(还有没有办法捕获非200个响应?服务器提供了很多这些响应(例如403 {message:Account Invalid}))
码
auth.ts
import { Headers, RequestOptions } from '@angular/http'
import 'rxjs/add/operator/toPromise';
...
export const getToken = function(http){
return new Promise((resolve, reject) => {
let headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
headers.append('Authorization', 'JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjU4Yzg1MmI1YmQ1NjE1MGJkMDAxZWEzNyIsImlhdCI6MTQ4OTY3ODE0NywiZXhwIjoxNDg5NjgxNzQ3fQ.zUWvBnHXbgW20bE65tKe3icFWYW6WKIK6STAe0w7wC4');
let options = new RequestOptions({headers: headers});
http.get('//localhost:3000/auth/users', {headers: options})
.toPromise()
.then(res => resolve(res))
.catch(err => console.log(err));
});
}
Run Code Online (Sandbox Code Playgroud)
Chrome控制台:
Response for preflight has invalid HTTP status code 401
Run Code Online (Sandbox Code Playgroud)
服务器看到:(我注销了请求,没有标题或正文)
OPTIONS /auth/users 401 25.613 ms - -
Run Code Online (Sandbox Code Playgroud) 我有一个小的加载脚本来设置一些看起来像这样的类:
function frameIt() {
console.log("called frameit")
$( 'img' ).on('load', () => {
console.log("running listener")
debugger;
$( this ).addClass( "tasty" );
});
console.log("set listener")
}
Run Code Online (Sandbox Code Playgroud)
我的问题是$(this)始终设置为window即使this在上下文中是imgChrome的调试器显示的加载标记.为什么会发生这种情况的任何想法?这是一个Chrome调试器截图:

android ×2
ionic2 ×2
javascript ×2
python ×2
typescript ×2
angularjs ×1
caching ×1
django ×1
docker ×1
git ×1
jquery ×1
pygame ×1
python-3.3 ×1
windows ×1