Sign up ×
Stack Overflow is a community of 4.7 million programmers, just like you, helping each other. Join them, it only takes a minute:

im new in android i made an app for sniffing wifi access points and i have the following errors in logcat my manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.weedow2"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
  android:minSdkVersion="8"
  android:targetSdkVersion="19" />

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

<application
  android:allowBackup="true"
  android:icon="@drawable/ic_launcher"
  android:label="@string/app_name"
  android:theme="@style/AppTheme" >
  <activity
     android:name=".MainActivity"
     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=".ListWifiActivity"
     android:label="@string/app_name" >
  </activity>
</application>
</manifest>

MainActivity.java

package com.example.weedow2;

import java.util.List;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;


public class MainActivity extends Activity {

WifiManager mainWifiObj;
WifiScanReceiver wifiReciever;
ListView list;
String wifis[];
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  list = (ListView)findViewById(R.id.listView1);
  mainWifiObj = (WifiManager) getSystemService(Context.WIFI_SERVICE);
  wifiReciever = new WifiScanReceiver();
  mainWifiObj.startScan();
}


protected void onPause() {
  unregisterReceiver(wifiReciever);
  super.onPause();
}

protected void onResume() {
  registerReceiver(wifiReciever, new IntentFilter(
  WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
  super.onResume();
}

class WifiScanReceiver extends BroadcastReceiver {
  @SuppressLint("UseValueOf")
  public void onReceive(Context c, Intent intent) {
     List<ScanResult> wifiScanList = mainWifiObj.getScanResults();
     wifis = new String[wifiScanList.size()];
     for(int i = 0; i < wifiScanList.size(); i++){
        wifis[i] = ((wifiScanList.get(i)).toString());
     }

     list.setAdapter(new ArrayAdapter<String>(getApplicationContext(),
     android.R.layout.simple_list_item_1,wifis));
  }
}

}

and activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:paddingBottom="@+id/activity_vertical_margin"
 android:paddingLeft="@+id/activity_horizontal_margin"
 android:paddingRight="@+id/activity_horizontal_margin"
 android:paddingTop="@+id/activity_vertical_margin"
 tools:context=".MainActivity" >

<ListView
  android:id="@+id/listView1"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:layout_alignParentTop="true"
  android:layout_centerHorizontal="true"
  android:drawSelectorOnTop="false"
  android:background="@android:color/background_dark"
  android:listSelector="@android:color/darker_gray" >

</ListView>
</RelativeLayout>

and i have the following error

10-23 12:02:07.064: E/AndroidRuntime(277): FATAL EXCEPTION: main 10-23 12:02:07.064: E/AndroidRuntime(277): java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.example.weedow2/com.example.weedow2.MainActivity}: android.view.InflateException: Binary XML file line #1: Error inflating class android.widget.RelativeLayout 10-23 12:02:07.064: E/AndroidRuntime(277): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 10-23 12:02:07.064: E/AndroidRuntime(277): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 10-23 12:02:07.064: E/AndroidRuntime(277): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 10-23 12:02:07.064: E/AndroidRuntime(277): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 10-23 12:02:07.064: E/AndroidRuntime(277): at android.os.Handler.dispatchMessage(Handler.java:99) 10-23 12:02:07.064: E/AndroidRuntime(277): at android.os.Looper.loop(Looper.java:123) 10-23 12:02:07.064: E/AndroidRuntime(277): at android.app.ActivityThread.main(ActivityThread.java:4627) 10-23 12:02:07.064: E/AndroidRuntime(277): at java.lang.reflect.Method.invokeNative(Native Method) 10-23 12:02:07.064: E/AndroidRuntime(277): at java.lang.reflect.Method.invoke(Method.java:521) 10-23 12:02:07.064: E/AndroidRuntime(277): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 10-23 12:02:07.064: E/AndroidRuntime(277): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 10-23 12:02:07.064: E/AndroidRuntime(277): at dalvik.system.NativeStart.main(Native Method) 10-23 12:02:07.064: E/AndroidRuntime(277): Caused by: android.view.InflateException: Binary XML file line #1: Error inflating class android.widget.RelativeLayout 10-23 12:02:07.064: E/AndroidRuntime(277): at android.view.LayoutInflater.createView(LayoutInflater.java:513) 10-23 12:02:07.064: E/AndroidRuntime(277): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 10-23 12:02:07.064: E/AndroidRuntime(277): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563) 10-23 12:02:07.064: E/AndroidRuntime(277): at android.view.LayoutInflater.inflate(LayoutInflater.java:385) 10-23 12:02:07.064: E/AndroidRuntime(277): at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 10-23 12:02:07.064: E/AndroidRuntime(277): at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 10-23 12:02:07.064: E/AndroidRuntime(277): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198) 10-23 12:02:07.064: E/AndroidRuntime(277): at android.app.Activity.setContentView(Activity.java:1647) 10-23 12:02:07.064: E/AndroidRuntime(277): at com.example.weedow2.MainActivity.onCreate(MainActivity.java:27) 10-23 12:02:07.064: E/AndroidRuntime(277): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 10-23 12:02:07.064: E/AndroidRuntime(277): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 10-23 12:02:07.064: E/AndroidRuntime(277): ... 11 more 10-23 12:02:07.064: E/AndroidRuntime(277): Caused by: java.lang.reflect.InvocationTargetException 10-23 12:02:07.064: E/AndroidRuntime(277): at android.widget.RelativeLayout.(RelativeLayout.java:170) 10-23 12:02:07.064: E/AndroidRuntime(277): at java.lang.reflect.Constructor.constructNative(Native Method) 10-23 12:02:07.064: E/AndroidRuntime(277): at java.lang.reflect.Constructor.newInstance(Constructor.java:446) 10-23 12:02:07.064: E/AndroidRuntime(277): at android.view.LayoutInflater.createView(LayoutInflater.java:500) 10-23 12:02:07.064: E/AndroidRuntime(277): ... 21 more 10-23 12:02:07.064: E/AndroidRuntime(277): Caused by: java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x12 10-23 12:02:07.064: E/AndroidRuntime(277): at android.content.res.TypedArray.getDimensionPixelSize(TypedArray.java:463) 10-23 12:02:07.064: E/AndroidRuntime(277): at android.view.View.(View.java:1891) 10-23 12:02:07.064: E/AndroidRuntime(277): at android.view.View.(View.java:1834) 10-23 12:02:07.064: E/AndroidRuntime(277): at android.view.ViewGroup.(ViewGroup.java:285) 10-23 12:02:07.064: E/AndroidRuntime(277): ... 25 more

but this line:

Unable to start activity ComponentInfo{com.example.weedow2/com.example.weedow2.MainActivity}:android.view.InflateException: Binary XML file line #1: Error inflating class android.widget.RelativeLayout

is important

share|improve this question

1 Answer 1

up vote 0 down vote accepted

You are not using correct values for the padding of the layout, @+id creates a new id for a View, you need to use dimension resources for padding/margins :

Replace this

android:paddingBottom="@+id/activity_vertical_margin"
android:paddingLeft="@+id/activity_horizontal_margin"
android:paddingRight="@+id/activity_horizontal_margin"
android:paddingTop="@+id/activity_vertical_margin"

with this :

android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
share|improve this answer
    
yeah its true thanks – mjvoodoo Oct 24 '14 at 10:51
    
More on using resources here – 2Dee Oct 26 '14 at 12:11

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.