應用&問題說明 我們正在努力建立一個基於文本的安卓遊戲(不要問;-)),而且我們有開始麻煩出於某種原因通過意圖進行的新活動。我們的遊戲以歡迎屏幕開始 - >新遊戲(按鈕) - >課程選擇(兩個按鈕,偵探/兇手) - >第一個遊戲活動Android的意圖不會開始下一個活動
遊戲活動將包含一個imageview,一個文本視圖一個繼續按鈕(導致下一個活動),最常見的是後退按鈕(布爾值,取決於遊戲/故事情景)。
問題是,即使我們使用與從菜單到第一個遊戲活動的代碼幾乎相同的代碼,我們無法繼續按鈕開始下一個活動?我們的想法是,我們有佈局模板和內容模板,並且我們可以創建新的活動,在這些活動中,我們只爲圖片資源設置變量,字符串資源,後退按鈕的布爾值以及以下活動由「繼續」開始。
代碼 這是我們的代碼:
的ContentTemplate:
package com.bsnoire;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
public class ContentTemplate extends Activity implements OnClickListener
{
protected int image, back, text;
protected Class<? extends Activity> cls;
@Override
public void onCreate(Bundle savedInstanceState)
{
setVariables();
super.onCreate(savedInstanceState);
setContentView(R.layout.content);
ImageView iv = (ImageView) findViewById(R.id.contentImageView);
TextView tv = (TextView) findViewById(R.id.contentTextView);
Button bBack = (Button) findViewById(R.id.contentbBack);
iv.setImageResource(image);
tv.setText(text);
bBack.setVisibility(back);
}
@Override
public void onDestroy()
{
this.finish();
}
//===============================================================================
@Override
public void onClick(View v)
{
switch(v.getId())
{
case R.id.contentbBack:
this.finish();
break;
case R.id.contentbCon:
Intent intent1 = new Intent(this, cls);
startActivity(intent1);
break;
}
}
public void setVariables()
{
}
}
ACT1(即活性1)
package com.bsnoire;
import com.bsnoire.R;
import android.app.Activity;
import android.os.Bundle;
public class Act1 extends ContentTemplate
{
/**
* Sets the variables in Act1
*/
@Override
public void setVariables()
{
image = R.drawable.p1;
back = 0;
text = R.string.A1S1;
cls = com.bsnoire.Act2.class;
}
}
ACT2將同爲1,但與其他變量。在菜單中,我們使用下面的代碼(開關功能)參考Act1:
case R.id.bAbout:
Intent intent2 = new Intent(MainMenu.this, Act1.class);
startActivity(intent2);
break;
哪個工作正常!
我們沒有收到任何編譯錯誤,也沒有運行時錯誤。在Act1中按下「繼續」時沒有任何反應,除了手指點擊時的綠色標記。
我應該提到,我們已經嘗試了對Act1和Act2進行硬編碼(刪除了我們只需設置變量的'通用'方面,然後重複所有內容)。這導致了Act1中完全相同的靜止狀態。 – jhm
添加OnClickListener到你的按鈕...,我認爲你必須添加日誌來查看你的onClick是否被調用。 –
謝謝,但嘗試後,它沒有幫助。此外,日誌消息不會在logcat中顯示,只會顯示一些標準消息:「onTouchEvent」。 我們發現奇怪的是,當設備註冊了觸摸輸入,但是不會寫入我們的日誌,它只是在聲明並在偵聽器中發送意圖之前放置的。 (我們使用命令Log.d(「BSNoire」,「繼續按鈕點擊」)) – jhm