我正在製作一個簡單的Android應用程序,以便熟悉這個概念。我有一個有兩個活動的應用程序,第一個應該是顯示一秒鐘的啓動畫面,第二個是帶有黑色方塊的畫布,當您點擊它時變成青色。當我運行它時,它停止在日誌中出現錯誤,提示「執行停止未恢復的活動」。執行停止未恢復的活動嗎?
主要活動:
package com.example.test;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try{
Thread.sleep(1000);
}catch(Exception e){}
Intent in = new Intent(this, Afspl.class);
startActivity(in);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
下一個活動:
package com.example.test;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
public class Afspl extends Activity {
public DrawView vi;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
vi = new DrawView(this);
}
class DrawView extends View{
Paint paint = new Paint();
public DrawView(Context context){
super(context);
}
public void onDraw(Canvas c){
paint.setColor(col);
c.drawRect(40, 40, 200, 200, paint);
}
private int col = Color.BLACK;
public void setToColor(int c){
col=c;
}
}
public boolean onTouchEvent(MotionEvent me){
if(me.getX()>=30 && me.getX() <= 320 && me.getY() >=30 && me.getY() <= 320)vi.setToColor(Color.CYAN);
return super.onTouchEvent(me);
}
}
你有,爲什麼我得到這個錯誤,或者這意味着什麼或如何解決這個任何想法?所有的幫助表示讚賞。
您的線程在嘗試停止時處於睡眠狀態(因爲您在等待時調用了startActivity)。您正試圖阻止它,但它目前不處於恢復狀態。 – zgc7009 2014-12-03 19:42:12
如果我使用將運行函數放入可運行類的Handler,那麼如何引用處理程序所在的MainActivity類,因爲「this」將引用可運行的? – user2649681 2014-12-03 19:46:09
如果你正在學習,那麼切換你的方法,不要做閃屏。他們反Android,用戶討厭他們。你期望在網頁上看到啓動畫面嗎?當你點擊一個網頁時,會發生什麼情況,並顯示你和你必須通過的廣告對話框才能使用該頁面?吮吸不是嗎? – Simon 2014-12-03 20:14:30