- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个预测足球比赛获胜者的应用程序。我是android编程新手,所有recyclerview教程都有点令人困惑,但我需要将每个用户预测的所有信息放入cardview中,所以我将所有xml代码转移到java中,但是当我进行此 Activity 时,它说立即关闭虚拟机,但我没有收到任何输入的日志消息。预测中的所有用户数据都位于 SQLite 数据库中,可以读取该数据库以获取信息。下面是我的 java 和 xml 文件,如果可能的话,我希望最终不必使用 xml 文件。
历史 Activity Java 文件:
package com.winansbros.soccerpredictor;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.res.TypedArray;
import android.database.Cursor;
import android.os.Bundle;
import android.support.v7.widget.CardView;
import android.text.method.ScrollingMovementMethod;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;
public class History extends Activity {
TextView historyTextView;
Context CTX = this;
AdView mAdView;
AdRequest adRequest;
Button clearButton;
Button tipsButton;
StringBuilder sb;
DatabaseOperations DOP;
Integer team1image = 1;
Integer team2image = 1;
AdView adview = new AdView(CTX);
Button clearHistory = new Button(CTX);
Button tips = new Button(CTX);
RelativeLayout mainrl = new RelativeLayout(CTX);
TypedArray imgs = getResources().obtainTypedArray(R.array.images);
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
DOP = new DatabaseOperations(CTX);
Cursor CR = DOP.getInformation(DOP);
CR.moveToFirst();
if( CR != null && CR.moveToFirst() ){
RelativeLayout.LayoutParams mainrlp = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
mainrl.setLayoutParams(mainrlp);
String adid = getResources().getString(R.string.banner_ad_unit_id);
RelativeLayout.LayoutParams adviewlayoutparams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
adviewlayoutparams.addRule(RelativeLayout.CENTER_HORIZONTAL);
adviewlayoutparams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
RelativeLayout.LayoutParams clearHistoryLP = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
clearHistoryLP.addRule(RelativeLayout.ABOVE, adview.getId());
clearHistoryLP.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
RelativeLayout.LayoutParams tipsbuttonlp = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
tipsbuttonlp.addRule(RelativeLayout.ABOVE, adview.getId());
tipsbuttonlp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
adview.setAdSize(AdSize.BANNER);
adview.setAdUnitId(adid);
adview.setLayoutParams(adviewlayoutparams);
clearHistory.setLayoutParams(clearHistoryLP);
tips.setLayoutParams(tipsbuttonlp);
clearHistory.setText("Clear History");
tips.setText("Tips");
mainrl.addView(adview);
mainrl.addView(clearHistory);
mainrl.addView(tips);
setContentView(mainrl);
CR.close();
getHistory();
} else
{
setContentView(R.layout.activity_history);
clearButton = (Button) findViewById(R.id.clearSQLite);
tipsButton = (Button) findViewById(R.id.TipsButton);
}
mAdView = (AdView) this.findViewById(R.id.adView);
adRequest = new AdRequest.Builder()
.addTestDevice("8AC41E108CD62B7703FF28358AEEC8BC")
.build();
mAdView.loadAd(adRequest);
clearButton.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
DatabaseOperations DOB = new DatabaseOperations(CTX);
DOB.DeleteInformation(CTX);
DOB.close();
finish();
}
});
//sb = new StringBuilder();
historyTextView = (TextView) findViewById(R.id.historyText);
historyTextView.setMovementMethod(new ScrollingMovementMethod());
tipsButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplicationContext(), TipsActivity.class);
startActivity(intent);
}
});
DOP.close();
}
public void getHistory() {
Log.i("GetHistory", "Initialized");
Cursor CR = DOP.getInformation(DOP);
CR.moveToFirst();
List<String> winners = new ArrayList<>();
List<String> hometeams = new ArrayList<>();
List<String> awayteams = new ArrayList<>();
List<String> scores = new ArrayList<>();
do {
winners.add(CR.getString(0));
hometeams.add(CR.getString(1));
awayteams.add(CR.getString(2));
scores.add(CR.getString(3));
Log.d("Cloud Files", "OBJECT ID SET");
} while (CR.moveToNext());
Log.d("GetHistory", "Lists all set");
setImages(hometeams, awayteams);
Log.d("GetHistory", "Images set");
int size = winners.size();
Log.d("Cloud Files", Integer.toString(size));
for (int i = 0; i < size; i++) {
Log.d("GetHistory", "Starting For Loop");
CardView cv = new CardView(CTX);
RelativeLayout ll = new RelativeLayout(CTX);
TextView team1name = new TextView(CTX);
TextView team2name = new TextView(CTX);
ImageView team1imageview = new ImageView(CTX);
ImageView team2imageview = new ImageView(CTX);
TextView cardscore = new TextView(CTX);
Log.d("GetHistory", "Views set up");
RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.CENTER_IN_PARENT);
RelativeLayout.LayoutParams imageview1 = new RelativeLayout.LayoutParams(60, 60);
imageview1.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
imageview1.addRule(RelativeLayout.ALIGN_PARENT_START);
imageview1.addRule(RelativeLayout.CENTER_VERTICAL);
RelativeLayout.LayoutParams imageview2 = new RelativeLayout.LayoutParams(60, 60);
imageview2.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
imageview2.addRule(RelativeLayout.ALIGN_PARENT_END);
imageview2.addRule(RelativeLayout.CENTER_VERTICAL);
RelativeLayout.LayoutParams textview1 = new RelativeLayout.LayoutParams(100, RelativeLayout.LayoutParams.WRAP_CONTENT);
textview1.addRule(RelativeLayout.CENTER_VERTICAL);
textview1.addRule(RelativeLayout.RIGHT_OF, team1imageview.getId());
textview1.addRule(RelativeLayout.END_OF, team1imageview.getId());
textview1.addRule(RelativeLayout.BELOW, team2name.getId());
RelativeLayout.LayoutParams textview2 = new RelativeLayout.LayoutParams(100, RelativeLayout.LayoutParams.WRAP_CONTENT);
textview2.addRule(RelativeLayout.CENTER_VERTICAL);
textview2.addRule(RelativeLayout.LEFT_OF, team2imageview.getId());
textview2.addRule(RelativeLayout.START_OF, team2imageview.getId());
textview2.addRule(RelativeLayout.BELOW, team2name.getId());
RelativeLayout.LayoutParams textview3 = new RelativeLayout.LayoutParams(20, RelativeLayout.LayoutParams.WRAP_CONTENT);
textview3.addRule(RelativeLayout.CENTER_VERTICAL);
textview3.addRule(RelativeLayout.RIGHT_OF, team1name.getId());
textview3.addRule(RelativeLayout.END_OF, team1name.getId());
textview3.addRule(RelativeLayout.BELOW, team2name.getId());
Log.d("GetHistory", "Layout params set");
team1name.setText(hometeams.get(i));
team2name.setText(awayteams.get(i));
team1imageview.setImageResource(imgs.getResourceId(team1image, -1));
cardscore.setText(scores.get(i));
team2imageview.setImageResource(imgs.getResourceId(team2image, -1));
team1imageview.setLayoutParams(imageview1);
team2imageview.setLayoutParams(imageview2);
team2name.setLayoutParams(textview1);
team1name.setLayoutParams(textview2);
cardscore.setLayoutParams(textview3);
Log.d("GetHistory", "views set to parents");
mainrl.addView(cv);
cv.setLayoutParams(lp);
ll.setLayoutParams(rlp);
cv.addView(ll);
ll.addView(team1imageview);
ll.addView(team1name);
ll.addView(team2imageview);
ll.addView(team2name);
ll.addView(cardscore);
Log.d("GetHistory", "views set to objects");
Log.d("GetHistory", "views values set");
setContentView(mainrl);
imgs.recycle();
/**if (appendSeparator) sb.append("\n");
appendSeparator = true;
sb.append(hometeams.get(i));
sb.append(" ");
sb.append(scores.get(i));
sb.append(" ");
sb.append(awayteams.get(i));
historyTextView.setText(sb.toString());*/
}
}
public void setImages(List<String> hometeams, List<String> awayteams)
{
String[] bplteams = new String[20];
bplteams[0] = "Arsenal";
bplteams[1] = "Aston Villa";
bplteams[2] = "Burnley";
bplteams[3] = "Chelsea";
bplteams[4] = "Crystal Palace";
bplteams[5] = "Everton";
bplteams[6] = "Hull City";
bplteams[7] = "Leicester City";
bplteams[8] = "Liverpool";
bplteams[9] = "Man City";
bplteams[10] = "Man United";
bplteams[11] = "Newcastle";
bplteams[12] = "QPR";
bplteams[13] = "Southampton";
bplteams[14] = "Stoke City";
bplteams[15] = "Sunderland";
bplteams[16] = "Swansea City";
bplteams[17] = "Tottenham";
bplteams[18] = "West Brom";
bplteams[19] = "West Ham";
String[] laligateams = new String[20];
laligateams[0] = "Almería";
laligateams[1] = "Athletic Bilbao";
laligateams[2] = "Athlético Madrid";
laligateams[3] = "Barcalona";
laligateams[4] = "Celta Vigo";
laligateams[5] = "Córdoba";
laligateams[6] = "Deportivo La Coruña";
laligateams[7] = "Eibar";
laligateams[8] = "Elche";
laligateams[9] = "Espanyol";
laligateams[10] = "Getafe";
laligateams[11] = "Granada";
laligateams[12] = "Levante";
laligateams[13] = "Málaga";
laligateams[14] = "Rayo Vallecano";
laligateams[15] = "Real Madrid";
laligateams[16] = "Real Sociedad";
laligateams[17] = "Sevilla";
laligateams[18] = "Valencia";
laligateams[19] = "Villarreal";
for (int i = 0; i < hometeams.size(); i++)
{
if (hometeams.get(i) == bplteams[i])
{
team1image = i;
} else if (hometeams.get(i) == laligateams[i])
{
team1image = i;
} else if (awayteams.get(i) == bplteams[i])
{
team1image = i;
} else if (awayteams.get(i) == laligateams[i])
{
team2image = i;
}
}
}
}
历史 Activity 的 XML 文件:
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="@string/banner_ad_unit_id">
</com.google.android.gms.ads.AdView>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Clear History"
android:id="@+id/clearSQLite"
android:layout_above="@+id/adView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:width="150dp" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tips"
android:id="@+id/TipsButton"
android:width="150dp"
android:layout_above="@+id/adView"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"/>
<android.support.v7.widget.CardView
tools:context="com.winansbros.soccerpredictor.History"
android:id="@+id/card_view"
android:layout_gravity="center"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:layout_width="60dp"
android:layout_height="60dp"
android:id="@+id/team1imageview"
android:layout_alignParentTop="true"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/team1name"
android:layout_centerVertical="true"
android:layout_below="@+id/team2name"
android:layout_toRightOf="@+id/team1imageview"
android:layout_toEndOf="@+id/team1imageview"
android:width="100dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/card1score"
android:width="20dp"
android:layout_centerVertical="true"
android:layout_alignTop="@+id/team1name"
android:layout_toRightOf="@+id/team1name"
android:layout_toEndOf="@+id/team1name"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/team2name"
android:width="100dp"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/team2imageview"
android:layout_toStartOf="@+id/team2imageview"/>
<ImageView
android:layout_width="60dp"
android:layout_height="60dp"
android:id="@+id/team2imageview"
android:layout_centerVertical="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"/>
</RelativeLayout>
</android.support.v7.widget.CardView>
</RelativeLayout>
有什么建议吗?我还是 Android 开发新手,所以这可能是非常简单的事情。预先感谢您。
最佳答案
仅保留这些声明
AdView adview = new AdView(CTX);
Button clearHistory = new Button(CTX);
Button tips = new Button(CTX);
RelativeLayout mainrl = new RelativeLayout(CTX);
TypedArray imgs = getResources().obtainTypedArray(R.array.images);
并至少在 super.onCreate()
之后移动赋值(和初始化)。
关于java - Android 应用程序在转而使用 java 创建布局后停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30821328/
我正在使用 Tkinter 在 python 上写一个小游戏(顺便说一下,我不允许使用任何其他非内置模块)并且我想在主窗口上播放背景歌曲,这是那个包含标题,以及转到其他窗口和内容的按钮... 所以问题
我有一个 Azure WebJob,它在一个非常简单的应用服务标准:1 Small(计划)上运行。 现在,我的 WebJob(有 5 个函数正在运行)出现问题 - 我想停止 5 个正在运行的函数中的
我在 MacOS Lion 上使用 XCode 4.2。在模拟器中调试 iPhone/iPad 应用程序时,我使用 XCode 工具栏上的“停止”按钮(产品 | 停止)退出应用程序。在此之后,XCod
我刚刚下载了android开放源代码项目,并尝试使用make来构建它,我收到了以下消息: build/core/prebuilt.mk:91: *** recipe commences before
我以前从未制作过 makefile,但我们已经收到了这个,但是,如果我尝试运行它,它只会说, missing separator. stop. 我不知道可能出了什么问题 - 我已经确保空格只按制表符。
好吧,这段代码非常基本。用户将答案输入文本框,如果等于“第一+第二”,他们就得到一分。然后,他们有 5 秒钟的时间回答下一个数学问题。如果他们这样做了,函数“doCalculation”将再次运行,他
我在 viewController 中有一个循环动画 - (void)moveAnimating { [UIView animateWithDuration:2.0f animations:^
当我有一个待处理的 ASIFormDataRequest(作为异步任务启动)仍在执行并且用户按下后退按钮(为了弹出 View )时,我的 viewController 出现问题。 有什么方法可以停止该
我们正在使用 flashdevelop 和 flash CS 3 开发基于 flash 的游戏。我们正在使用 flash CS3 发布 swc,swc 将作为库在 flashdevlop 中使用。 一
我在线程中有一个连接,因此我将其添加到运行循环中以获取所有数据: [[NSRunLoop currentRunLoop] run]; [connection scheduleInRunLoop
你好,我做了一个 php 套接字服务器来从 plc 获取数据,plc 被配置为 tcp 套接字客户端。 我有一个严重的问题,如果本地网络出现故障,似乎功能 socket_accept 停止,plc 无
这个问题已经有答案了: How to stop a setTimeout loop? (10 个回答) 已关闭 8 年前。 请帮助获得正确的函数或方法来停止 setTimeout 函数。 我一直在尝试
我正在运行一个多项目SBT(v0.13)构建,并且希望它在子项目中遇到的第一个错误(编译)时快速失败(停止)。 当前的行为是,当某项无法在子项目中进行编译时,构建将继续(以编译所有其他子项目)。 一旦
我有播放.wav文件中声音的代码,但是我无法停止播放歌曲,甚至无法退出程序直到播放结束。因为这是一首5分钟的歌曲,所以这是一个问题。这是我如何播放wav的代码: public class EasySo
我正在寻找一种解决方案,该如何控制从JSF应用程序播放音频文件。 我不需要完整的解决方案,只需引用我可以用来控制播放音频文件(开始/停止/更改声音)的组件即可。 我尝试搜索过去的问题,但没有成功。 我
我已经在test.ps1中编写了以下函数,在运行该脚本以启动/停止/ ..时我想做一个选择: function getState($SeviceName) { $server = @('hos
我必须设置一个 10 分钟的计时器,它会重定向到主屏幕。此外,它必须在每个操作(例如按下按钮)时重置。我找到了这个计时器:https://github.com/fengyuanchen/vue-cou
我正在制作一个聊天应用程序,功能之一就是发送声音。发送的HTML如下: LOL Stop Play 第一次发送时,“自动播放”效果很好。因此,现在我
我基本上希望页面能够接受用户输入的时间(以秒为单位)。 之后我希望当用户按下“开始”按钮时开始倒计时按下暂停按钮时“暂停”。还有一个重置按钮,以便用户可以从头开始倒计时。 这是我到目前为止得到的:
我需要停止 $.each 循环,加载图像,然后继续循环。我有 Canvas ,可以在其中加载对象图像。对象以正确的顺序排列在数组中。现在,当我尝试从数组加载对象时,存在一个问题:由于尺寸不同,并且它们
我是一名优秀的程序员,十分优秀!