0

我正在使用 android Tablet Devices 。在那,我有两个布局,如布局1和布局2。在我的平板电脑中,我在屏幕的前半部分设置了一个布局(布局1),在屏幕的后半部分设置了第二个(布局)。我的布局布局1​​有一个 ImageView。如果我单击该 Imageview ,我已经在 xml 中设计的布局必须替换现有的布局1。

我试过这样:

  package com.example.androidoverlapp;



import android.os.Bundle;
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.LinearLayout;

public class MainActivity extends Activity implements OnClickListener {
ImageView i;LinearLayout l;View viewToLoad;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.homepage);
       i=(ImageView)findViewById(R.id.gprs);
       l=(LinearLayout)findViewById(R.id.homepageoverlappable);
       i.setOnClickListener(this);
    }
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
    l.removeAllViews();
    viewToLoad = LayoutInflater.from(this.getParent()).inflate(R.layout.activity_main, null);
    l.addView(viewToLoad);

    }



}

但它强制关闭。

Logcat 输出:

03-13 16:04:41.461: I/Process(309): Sending signal. PID: 309 SIG: 9
03-13 16:05:53.056: D/dalvikvm(331): GC freed 652 objects / 53680 bytes in 145ms
03-13 16:05:58.796: D/AndroidRuntime(331): Shutting down VM
03-13 16:05:58.826: W/dalvikvm(331): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
03-13 16:05:58.826: E/AndroidRuntime(331): Uncaught handler: thread main exiting due to uncaught exception
03-13 16:05:58.866: E/AndroidRuntime(331): java.lang.NullPointerException
03-13 16:05:58.866: E/AndroidRuntime(331):  at android.view.LayoutInflater.from(LayoutInflater.java:171)
03-13 16:05:58.866: E/AndroidRuntime(331):  at com.example.androidoverlapp.MainActivity.onClick(MainActivity.java:28)
03-13 16:05:58.866: E/AndroidRuntime(331):  at android.view.View.performClick(View.java:2364)
03-13 16:05:58.866: E/AndroidRuntime(331):  at android.view.View.onTouchEvent(View.java:4179)
03-13 16:05:58.866: E/AndroidRuntime(331):  at android.view.View.dispatchTouchEvent(View.java:3709)
03-13 16:05:58.866: E/AndroidRuntime(331):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
03-13 16:05:58.866: E/AndroidRuntime(331):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
03-13 16:05:58.866: E/AndroidRuntime(331):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
03-13 16:05:58.866: E/AndroidRuntime(331):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
03-13 16:05:58.866: E/AndroidRuntime(331):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
03-13 16:05:58.866: E/AndroidRuntime(331):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
03-13 16:05:58.866: E/AndroidRuntime(331):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
03-13 16:05:58.866: E/AndroidRuntime(331):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
03-13 16:05:58.866: E/AndroidRuntime(331):  at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659)
03-13 16:05:58.866: E/AndroidRuntime(331):  at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)
03-13 16:05:58.866: E/AndroidRuntime(331):  at android.app.Activity.dispatchTouchEvent(Activity.java:2061)
03-13 16:05:58.866: E/AndroidRuntime(331):  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643)
03-13 16:05:58.866: E/AndroidRuntime(331):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1691)
03-13 16:05:58.866: E/AndroidRuntime(331):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-13 16:05:58.866: E/AndroidRuntime(331):  at android.os.Looper.loop(Looper.java:123)
03-13 16:05:58.866: E/AndroidRuntime(331):  at android.app.ActivityThread.main(ActivityThread.java:4363)
03-13 16:05:58.866: E/AndroidRuntime(331):  at java.lang.reflect.Method.invokeNative(Native Method)
03-13 16:05:58.866: E/AndroidRuntime(331):  at java.lang.reflect.Method.invoke(Method.java:521)
03-13 16:05:58.866: E/AndroidRuntime(331):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
03-13 16:05:58.866: E/AndroidRuntime(331):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
03-13 16:05:58.866: E/AndroidRuntime(331):  at dalvik.system.NativeStart.main(Native Method)
03-13 16:05:58.916: I/dalvikvm(331): threadid=7: reacting to signal 3
03-13 16:05:58.916: E/dalvikvm(331): Unable to open stack trace file '/data/anr/traces.txt': Permission denied
03-13 16:06:00.739: I/Process(331): Sending signal. PID: 331 SIG: 9

请有人告诉我如何解决这个问题?

4

0 回答 0