我开始制作一个有山羊的项目!是的山羊.目前只有一个功能,当我点击山羊时,它会在随机位置创建另一只山羊.我意识到有一种立场模式:

这是代码:
public class GameActivity extends Activity {
private int[] arrGoats = new int[5];
private RelativeLayout battlefield;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game);
battlefield = (RelativeLayout) findViewById(R.id.rel_battlefield);
arrGoats[0] = R.drawable.amarelo;
arrGoats[1] = R.drawable.azul;
arrGoats[2] = R.drawable.branco;
arrGoats[3] = R.drawable.verde;
arrGoats[4] = R.drawable.vermelho;
criarCabra(60, 100);
}
private void criarCabra(float x, float y) {
int cabraImg = arrGoats[new Random().nextInt(4)];
ImageView cabra = new ImageView(this);
cabra.setImageResource(cabraImg);
cabra.setX(x);
cabra.setY(y);
LayoutParams params = (LayoutParams) new LayoutParams(MarginLayoutParams.WRAP_CONTENT,
MarginLayoutParams.WRAP_CONTENT);
params.width = 150;
params.height …Run Code Online (Sandbox Code Playgroud) 我在Android Studio上登录GitHub时遇到此问题:
无法登录:无法获取用户信息404:未找到

有人遇到过这个问题吗?我怎么能绕过这个?
考虑以下代码:
val hwnd = Handler()
hwnd.postDelayed(object : Runnable {
override fun run()
hwnd.postDelayed(this, 5000)
}
}, 5000)
Run Code Online (Sandbox Code Playgroud)
这样,我可以通过this在run()方法中使用(指的是 Runnable)将相同的 Runnable 发布到 Handler 。但是我怎么能只使用一个 lambda 表达式来做同样的事情呢?
val hwnd = Handler()
hwnd.postDelayed({
//How to get "this" here?
}, 5000)
Run Code Online (Sandbox Code Playgroud)
这甚至可能吗?
我每天使用Android,我想避免视图大小的规格.例如,如果我创建一个TextView,我必须分配高度和宽度属性,如下所示:
<TextView
android:id="@+id/activity_lbl"
android:layout_width="wrap_content" <!-- Again -->
android:layout_height="wrap_content" <!--Again... --> />
<TextView
android:id="@+id/activity_lbl2"
android:layout_width="wrap_content" <!-- Again... -->
android:layout_height="wrap_content" <!--Again, for ever --> />
Run Code Online (Sandbox Code Playgroud)
对于我创建的每个视图,我都要分配相同的大小规格.有没有办法避免它们?
我已经制作了一个使用垂直滚动视图工作正常的布局,但我需要使用水平滚动视图制作另一个.我刚换ScrollView到HorizontalScrollView:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<HorizontalScrollView
android:layout_weight="1"
android:scrollbars="none"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:text="@string/activity_visibilidade_cronologia_aula_subtitulo"
android:textSize="16dp" />
<ImageButton
android:id="@+id/activity_visibilidade_cronologia_aula_btn_info"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp"
android:background="@null"
android:scaleType="fitXY"
android:src="@drawable/btn_info" />
</RelativeLayout>
<LinearLayout
android:id="@+id/activity_visibilidade_cronologia_aula_linear_conteudo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
</LinearLayout>
<Button
android:id="@+id/activity_visibilidade_cronologia_aula_btn_confimar"
android:layout_width="165dp"
android:layout_height="35dp"
android:layout_centerVertical="true"
android:layout_gravity="right"
android:layout_marginBottom="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:background="@drawable/botao_add_confirmar"
android:text="@string/dialogo_alterar_classe_confirmar"
android:textColor="@color/branco" />
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
其结果是:

为什么不HorizontalScrollView填写父母,有什么不对吗?
我试图创建一个运行时线程,但线程表现得很奇怪,代码没有画布引用.
procedure TBruteThread.Execute;
var
j: Integer;
begin
inherited;
FreeOnTerminate:=True;
for j:=1 to StrToInt(Form1.Edit1.Text) do begin
if Terminated then break;
Form1.Label2.Caption:=IntToStr(j);
end;
Form1.Label2.Caption:='Thread is destroyed';
Self.Terminate;
end;
Run Code Online (Sandbox Code Playgroud)

有人有任何想法解决这个奇怪的问题吗?
我不知道如何使以下代码工作.循环不返回所有假定的文件,%%~FI只在FOR循环开始时展开.到最后一个命令执行时,"%%~FI"产生一个文字字符串而不是扩展到所需的文件名:
SETLOCAL ENABLEDELAYEDEXPANSION
FOR %%I IN (*.foo *.bar) DO (
SET OFileBase=%%~DPNI
ECHO "%%~FI" REM Expands correctly at this point
:WhileLoop2
IF EXIST "!OFileBase!.baz" (
SET /A SuffixIndex += 1
SET OFileBase=%%~DPNI [!SuffixIndex!]
GOTO WhileLoop2
)
ECHO "%%~FI" REM Expands no more, now a literal string?!
fooparser.exe --input "%%~FI" - | bazmaker.exe - "!OFileBase!.baz"
)
ENDLOCAL
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?