2014-04-25 88 views
0

我是新來製作Android應用程序。我正在開發一個使用藍牙API的Android應用程序(在Eclipse中),當我從配對設備列表中選擇特定設備名稱時(即從一個活動跳到另一個活動),該應用程序停止並顯示此問題消息而不是顯示下一個屏幕。我無法理解錯誤可能是什麼。 我從主要活動共享代碼片段:不幸的是,該應用程序已停止在Android的工作錯誤

// listening to single list item on click 
      listOfDevices.setOnItemClickListener(new OnItemClickListener() { 
       @Override 
       public void onItemClick(AdapterView<?> parent, View view, 
       int position, long id) { 

        // Launching new Activity on selecting single List Item 
       Intent i = new Intent(getApplicationContext(), Controls.class); 
       startActivity(i); 

       } 
      }); 

這是第二個活動 - Controls.java的代碼(僅包含按鈕截至目前)

public class Controls extends Activity{ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    //this.setContentView(R.layout.controls); 

    final Button bt1 = (Button) findViewById(R.id.button1); 
    final Button bt2 = (Button) findViewById(R.id.button2); 
    final Button bt3 = (Button) findViewById(R.id.button3); 
    final Button bt4 = (Button) findViewById(R.id.button4); 
bt1.getBackground().setColorFilter(new LightingColorFilter(0xFFFFFFFF, 0xFFAA0000)); 
bt2.getBackground().setColorFilter(new LightingColorFilter(0xFFFFFFFF, 0xFFAA0000)); 
bt3.getBackground().setColorFilter(new LightingColorFilter(0xFFFFFFFF, 0xFFAA0000)); 
bt4.getBackground().setColorFilter(new LightingColorFilter(0xFFFFFFFF, 0xFFAA0000)); 
    Intent i = getIntent(); 



    } 
} 

這是清單文件:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="team2.cse8.project" 
    android:versionCode="1" 
    android:versionName="1.0"> 
<uses-sdk android:minSdkVersion="9" /> 
<uses-permission android:name="android.permission.BLUETOOTH" /> 
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 
<application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".Main" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".Controls" 
       android:label="@string/app_name"> 
    </activity> 

</application> 
</manifest> 
+2

爲什麼在第二個活動中評論'//this.setContentView(R.layout.controls);'?如果您正在運行您發佈的代碼,'findViewById'將返回'null',因此當您嘗試爲button1的背景設置顏色過濾器時,您的應用程序將崩潰。還總是添加您的問題stacktrace。 –

+1

是取消該行@ZouZou指出 –

+0

@鄒鄒哦,是的!我之前已經評論過它,因爲R.java文件沒有生成,後來我忘記取消註釋了。謝謝! 對不起,什麼是stacktrace,我該如何添加它? – user3024292

回答

3

我假設你得到NullPointerException,因爲你已經註釋了下面的行。

//this.setContentView(R.layout.controls); 

刪除該評論。該文件保存您的視圖組件。

相關問題