2014-04-25 133 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); 

删除该评论。该文件保存您的视图组件。

相关问题