我收到了这个android.util.AndroidRuntimeException: requestFeature() must be called before adding content错误.正如您在下面的代码中看到的那样,该requestWindowFeature(Window.FEATURE_NO_TITLE);行在代码行之前setContentView(R.layout.mainmenu);.这个onCreate()代码在我的每一项活动中都是相同的格式,直到现在我才从未遇到过麻烦.自从我更新到ADT 22以来,到处都出现了很多随机错误.我已经排除了很多这些错误,这是我最新的错误.
我该怎么做才能解决这个错误?
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.mainmenu);
Run Code Online (Sandbox Code Playgroud)
logcat的
05-31 04:20:43.121: E/AndroidRuntime(14559): FATAL EXCEPTION: main
05-31 04:20:43.121: E/AndroidRuntime(14559): java.lang.RuntimeException: Unable to start activity ComponentInfo{matt.lyons.bibletrivia.lite/matt.lyons.bibletrivia.lite.MainMenu}: android.util.AndroidRuntimeException: requestFeature() must be called before adding content
05-31 04:20:43.121: E/AndroidRuntime(14559): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
05-31 04:20:43.121: E/AndroidRuntime(14559): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
05-31 04:20:43.121: E/AndroidRuntime(14559): at android.app.ActivityThread.access$600(ActivityThread.java:141)
05-31 04:20:43.121: E/AndroidRuntime(14559): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
05-31 04:20:43.121: E/AndroidRuntime(14559): at android.os.Handler.dispatchMessage(Handler.java:99)
05-31 04:20:43.121: E/AndroidRuntime(14559): at android.os.Looper.loop(Looper.java:137)
05-31 …Run Code Online (Sandbox Code Playgroud) 到这里时:右键单击我的项目>属性> Android,发生以下错误.

当我在项目或其中一个库(忽略BibleTriviaPro)上转到Properties> Android时会发生此错误.
这个错误似乎无处不在.我想不出我已经改变的任何事情,现在突然间今晚这个错误出现了.我怎样才能解决这个问题?
我无法通过按下按钮来确定如何将活动滑入和滑出.我想要的是用户按下按钮然后屏幕滑动.我想要的方式是第一个活动(带按钮的活动)向左滑动,而新的第二个活动从右侧滑入.
使用下面的代码,当单击该按钮时,当我希望它向左滑动时,第一个活动向右滑动.然后当它完成滑动时,剩下的就是黑屏一瞬间,然后第二个活动就会出现而不会滑入.
因此,第一个活动是滑出错误的方向,下一个活动只是出现而不是滑动.我究竟做错了什么?我很难理解XML文件,所以听到以下所有内容的代码.
第一项活动
@Override
public void onCreate(Bundle savedInstanceState) {
playBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(MainMenu.this, Levels.class);
startActivity(intent);
overridePendingTransition(R.anim.enter_from_right, R.anim.exit_out_left);
}
});
Run Code Online (Sandbox Code Playgroud)
第二项活动
@Override
public void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.levels);
overridePendingTransition(R.anim.enter_from_left, R.anim.exit_out_right);
Run Code Online (Sandbox Code Playgroud)
所以我认为我的一些XML文件可能不正确.他们来了.
enter_from_left.xml
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="600"
android:fromXDelta="100%"
android:toXDelta="0%" >
</translate>
</set>
Run Code Online (Sandbox Code Playgroud)
enter_from_right.xml
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="600"
android:fromXDelta="-100%"
android:toXDelta="0%" >
</translate>
</set>
Run Code Online (Sandbox Code Playgroud)
exit_out_left.xml
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="600"
android:fromXDelta="0%" …Run Code Online (Sandbox Code Playgroud) 我有2个应用程序版本 - 专业版和精简版.它们都已在v1.01上市.我试图为两者发布v1.1.此更新包括SwawrmConnect集成,以便使用其全局排行榜.
我应该首先说我知道我没有正确维护我的代码.我有2个完全独立的应用程序,可能共享90%的代码.我单独维护它们是因为经过一周或者2或3次未能弄清楚如何建立一个库并共享代码之后,我放弃了,就这样用它来了.
SwarmConnect是我使用的第一个jar,必须为两个应用程序创建一个库(请参阅下面的文件结构截图).
现在我的Lite版本正在运行并准备发布.我现在正试图将我的专业版本发布到需要发布的位置.我相当确定所有java/xml文件都是最新的并且准备就绪.当我在模拟器中运行专业版时,我收到以下错误:
[2013-04-18 11:24:41 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/swarmconnect/loopj/android/http/AsyncHttpResponseHandler;
[2013-04-18 11:24:41 - BibleTriviaPro] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/swarmconnect/loopj/android/http/AsyncHttpResponseHandler;
Run Code Online (Sandbox Code Playgroud)
我试过的事情:
我的文件结构:

可能问题是我正在尝试使用SwarmConnect作为2个项目(lite和pro)的库?
编辑:
下面是完美运行的lite版本的文件结构.在模拟器上编译并运行.

应用程序的第一印象是应用程序商店中的启动器图标,所以它不应该被轻视.我终于完成了我的第一个应用程序,但仍然需要一个图标.我在图形或设计上并不出色.
我的问题是我如何寻找,创造或让某人提供免费服务.我不打算花钱买一个简单的图标而且我无法访问Photoshop.
我试图通过意图传递对象的ArrayList但无法让它工作.这是我有的:
public class QuestionView extends Activity {
//variables and other methods...
public void endQuiz() {
Intent intent = new Intent(QuestionView.this, Results.class);
intent.putExtra("correctAnswers", correctAnswers);
intent.putExtra("wrongAnswers", wrongAnswers);
intent.putParcelableArrayListExtra("queries", queries);
startActivity(intent);
}
}
Run Code Online (Sandbox Code Playgroud)
意在这里收到:
public class Results extends Activity {
int cAnswers;
int wAnswers;
ArrayList<Question> qs;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.resultsmain);
cAnswers = getIntent().getIntExtra("correctAnswers", -1);
wAnswers = getIntent().getIntExtra("wrongAnswers", -1);
qs = getIntent().getParcelableArrayListExtra("queries");
//more code...
}
}
Run Code Online (Sandbox Code Playgroud)
正在接收两个整数,correctAnswer和wrongAnswers,我可以使用它们.ArrrayList没有通过.在endQuiz()方法中没有错误,但'qs = getIntent().getParcelableArrayListExtra("queries");' 抛出错误并说"绑定不匹配".
对此有任何帮助表示赞赏!
问题类:
public class Question {
String a1;
String a2; …Run Code Online (Sandbox Code Playgroud) 我试图垂直和水平地居中TextView的上下文.请参阅下面的屏幕截图.

说1-5和100+ Points我想要的TextViews 垂直和水平居中.如您所见,它们是水平居中但不是垂直居中.以下是我正在使用的代码.
<LinearLayout
android:id="@+id/linearlayout2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/l1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:paddingTop="5dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingBottom="5dp"
android:textSize="12sp"
android:gravity="center_vertical|center_horizontal" />
<TextView
android:id="@+id/g1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="4"
android:paddingTop="5dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingBottom="5dp"
android:textSize="12sp"
android:gravity="center_vertical|center_horizontal" />
<TextView
android:id="@+id/c1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="4"
android:paddingTop="5dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingBottom="5dp"
android:textSize="12sp"
android:gravity="center_vertical|center_horizontal" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
同样,这个问题是如何使TextViews的内容居中,而不是如何在LinearLayout中居中TextViews.那么,我如何在TextViews中以两种方式集中内容?
这个GridLayout在我的应用程序中有很多级别.每个级别都有不同的行数和列数.我认为这个GridLayout是我用来满足我需求的最佳选择.此外,所有这些都需要在运行时以编程方式完成.
我无法理解如何使用GridLayout.spec().我试图遵循这个优秀的例子,但却无法完全掌握它.比方说,我想要一个包含3列和4行的GridLayout.
GridLayout.LayoutParms params1 = new GridLayout.Layout(rowSpec, columnSpec); //what's parameters?
gameplayGridLayout.setColumnCount(3);
gameplayGridLayout.setRowCount(4);
puzzle.addView(gameplayGridLayout, params1);
Run Code Online (Sandbox Code Playgroud)
在我上面的链接示例中,他使用下面的代码来设置"specs".
Spec row1 = GridLayout.spec(0, 2);
Spec row2 = GridLayout.spec(2);
Spec row3 = GridLayout.spec(3);
Spec row4 = GridLayout.spec(4, 2);
Spec col0 = GridLayout.spec(0);
Spec col1 = GridLayout.spec(1);
Spec colspan2 = GridLayout.spec(0, 2);
Run Code Online (Sandbox Code Playgroud)
我也不了解这些变量的参数.我试过阅读文档,但它没有给我任何清晰度.有人可以帮助我使用3x4 GridLayout的示例代码,这也有助于解释Specs是什么?
我的问题是,如果有一种方法可以在一个简单的黑线边框周围放置一个简单的黑线边框,ScrollView那么用户就可以准确地知道它的ScrollView起点,停止点和宽度.我在Android文档中找不到任何类型的XML或Java代码,说明如何执行此操作.我知道这必须是可能的.
下面是我ScrollView需要有边框的XML代码.
<LinearLayout
.... />
<TextView
... />
//BORDER STARTS HERE
<ScrollView
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="94.5"
android:paddingBottom="5dp"
android:fillViewport="true" >
<LinearLayout
... >
<TextView
... />
</LinearLayout>
</ScrollView>
//BORDER ENDS HERE
<Button
... />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
编辑
我刚刚添加了一个scrollviewborder.xml以下代码作为背景ScrollView.
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="2dp"
android:color="#000000"/>
</shape>
Run Code Online (Sandbox Code Playgroud)
下面的截图是它产生的:

这不是我想要的.我想要一条薄的黑线,而不是一个黑盒子.
这是这个线程的延续:
在strings.xml中本地化字符串会产生NullPointerException
在经历并实现该线程中提供的解决方案之后出现此问题.提供的解决方案适用于以下情况:
loading = (TextView)findViewById(R.id.loading);
loading.setText(R.string.loading);
Run Code Online (Sandbox Code Playgroud)
这不适用于以下情况:
exodus.add(new Question(R.string.a, R.string.b, R.string.c, R.string.d, 0, R.string.e, -1, R.string.f));
Run Code Online (Sandbox Code Playgroud)
错误是The constructor Question(int, int, int, int, int, int, int, int) is undefined.问题的构造函数应该是Question(String, String, String, String, int, String, int, String)这些:
R.string.X
Run Code Online (Sandbox Code Playgroud)
以int而不是字符串返回.
我该怎么做才能解决这个问题?而且,如果你知道,为什么这个方法用于设置TextViews的文本而不是对象中的参数?
android ×10
java ×9
arraylist ×1
border ×1
dalvik ×1
dex ×1
eclipse ×1
grid-layout ×1
icons ×1
scrollview ×1
textview ×1
transition ×1
undefined ×1