2014-03-05 44 views
0

因此,我有一個Android應用程序作爲項目的一部分。這個任務是創建一個帶有4個按鈕的應用程序,這導致3種不同的活動,第四種可以作爲退出功能。 我有退出功能工作,並試圖使第一個按鈕的工作,但它不斷崩潰。多個按鈕和Android中的onClick

此按鈕應導致的活動,這將是一個基本的網頁瀏覽器,與網址,一去按鈕和網頁視圖顯示頁面一個EditText。然而,我甚至無法到達那裏。

當我點擊,是爲了去這個活動,我得到了應用程序已經停止一個錯誤的按鈕。

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_b); 

    TextView naslov = (TextView) findViewById(R.id.naslovActivity); 
    SharedPreferences sharedPreferences = getSharedPreferences("Podaci", 0); 
    naslov.setText(sharedPreferences.getString("IME_PREZIME", "N/A")); 

    Button exit = (Button) findViewById(R.id.exitBtn); 
    Button web = (Button) findViewById(R.id.webBtn); 

    web.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Log.i("INFOR", "Before intent"); 
      Intent myIntent = new Intent(getApplicationContext(), WebActivity.class); 
      Log.i("INFOR", "Middle"); 
      startActivity(myIntent); 
      Log.i("INFOR", "After intent"); 
     } 
    }); 
    exit.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Intent myIntent = new Intent(getApplicationContext(), MyActivity.class); 
      myIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
      myIntent.putExtra("EXIT", true); 
      startActivity(myIntent); 
     } 
    }); 
    } 

所以我把那些日誌放在那裏看代碼走多遠。它記錄第一個和第二個,但從來沒有第三個,所以似乎有一個與startActivity(myIntent)的問題。

任何想法?退出功能可能會干擾它嗎?我還有兩個按鈕和活動要做,但由於我連這個工作都無法啓動,所以我不敢開始。

+0

我將'getApplicationContext()'更改爲'view.getContext()'並從崩潰中發佈logcat。而且,不,出口'聽衆'不應該與它有任何關係。並確保在你的'manifest.xml'中聲明'WebActivity'。 – codeMagic

+0

發生運行時錯誤時,請始終發佈LogCat。例如崩潰或「應用程序已停止」錯誤。只有這樣我們才能提供幫助 – VipulKumar

+0

你能後的WebActivity類,可能有東西,使應用程序崩潰,並且這將是非常有益的,如果你也可以張貼的logcat有關該錯誤消息的一些技巧,以幫助您簡化代碼: 上佈局activity_b.xml: ...

回答

0

更改以下,

Intent myIntent = new Intent(getApplicationContext(), WebActivity.class); 

Intent myIntent = new Intent(YourActivityName.this, WebActivity.class); 

或甚至view.getContext()作爲codeMagic建議。

而且,還有一件事嘗試實現OnClickListener和調用的onClick也曾經通過,

exit.setOnClickListener(this); 

,然後在的onClick檢查哪個按鈕被稱之爲,

@override 
onClick(View v){ 
    switch(c.getId()){ 
     case R.id.exitBtn: 
     //your code 
     break; 
    } 
} 
0

如果一切都確定了你的代碼在WebActivity.class你可能忘了把這個活動放在android清單中,像這樣:

<activity android:name=".WebActivity" android:label="@string/app_name"></activity>

忠告:不要用巴爾幹語言的變量名,當你得到一個工作作爲一個軟件開發人員,你可能會命名變量,評論等英文,甚至張貼在計算器尋求幫助:)儘快開始更好的練習。

+0

我住在巴爾幹地區,這就是爲什麼我用它作爲變量名稱,更容易讓我自己跟蹤什麼是什麼。 是的,這是Android清單。我沒有添加新的活動......猜測這是成爲新手的代價。謝謝! – user1650737

+0

很高興幫助!它不是一個新手。忘記簡單的事情是一個常見的程序員問題,所以我認爲你是正確的。我也生活在巴爾幹地區;) – 2014-03-05 22:10:36