我想开发一个小的android应用程序,只是打开浏览器到网站。我使用的是Mac OS 10.6和最新的android/eclipse工具。不过,我不断收到此异常:为什么这个异常:java.lang.RuntimeException:错误膨胀类
11-29 13:03:55.113:E/AndroidRuntime(1012):了java.lang.RuntimeException:无法启动活动ComponentInfo {com.mycomp/com.mycomp.pack }:android.view.InflateException:二进制XML文件行#7:错误充气类com.mycomp.MyTextView
这里是我的代码:
package com.mycomp;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
public class myapp extends Activity {
/** Called when the activity is first created. */`
private MyTextView myview;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.d("onCreate", "onCreate ");
myview = (MyTextView)findViewById(R.id.myview);
myview.setParent(this);
}
public static class MyTextView extends TextView {
private View mLastVisChangedView;
private int mLastChangedVisibility;
private Activity parent;
public void setParent(Activity p){
parent =p;
}
public MyTextView(Context context) {
super(context);
}
public MyTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public View getLastVisChangedView() {
return mLastVisChangedView;
}
public int getLastChangedVisibility() {
return mLastChangedVisibility;
}
@Override
protected void onVisibilityChanged(View changedView, int visibility){
Log.d("onVisibilityChanged", "new vis == " + visibility);
if (parent !=null && visibility == View.VISIBLE){
parent.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.mysite.com")));
parent.moveTaskToBack(true);
}
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<com.mycomp.MyTextView
android:id="@+id/myview"
android:text="@string/hello"/>
</LinearLayout>
谢谢!我曾尝试过,但有一个点,你有一个$。这让我疯狂。 BTW为其他人,之后,我仍然需要添加一个android:layout_width = ..到XML。 –
@Calgacus没问题:)如果有合理的理由这么做,我只会嵌套这个类,尽管 - 可能有一个,只是说'。 –