如何从导航抽屉片段中的图像按钮启动 activity

How to start an activity from an image button which is there in a fragment of a navigation drawer

我已经实现了带有片段的导航抽屉,现在我正尝试从这些片段中打开 activity。 片段太多,我在这里张贴其中一个,即关于我们,我只想在单击图像按钮时开始 activity 或片段(以更简单的为准)。

Aboutus.java

package hind.jai.com.jaihind;

import android.app.ActionBar;
import android.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTabHost;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;

/**
 * Created by sukhvir on 17/04/2015.
 */
public class about extends android.support.v4.app.Fragment {
    ImageButton Img;

    public View onCreateView(LayoutInflater inflater,
                             ViewGroup container, Bundle savedInstanceState) {


        return inflater.inflate(
                R.layout.about, container, false);


    }

    @Override
    public void onActivityCreated( Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        //get the button view
        Img = (ImageButton) getView().findViewById(R.id.imageButton);
        //set a onclick listener for when the button gets clicked
        Img.setOnClickListener(new View.OnClickListener() {
            //Start new list activity
            public void onClick(View v) {
                Intent mainIntent = new Intent(getActivity(), abcd.class);

            }
        });


    }

}

About.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/about"
    android:id="@+id/textView"
    android:layout_gravity="center_horizontal" />

    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageButton"
        android:background="@drawable/image2"
        android:onClick="Onclick"
        android:layout_gravity="center_horizontal" />


</LinearLayout>

正如我提到的,我试图开始一个新的 activity,即 "abcd"。

abcd.java

package hind.jai.com.jaihind;

import android.app.Activity;
import android.os.Bundle;

/**
 * Created by Rishik on 14-06-2015.
 */
public class abcd extends Activity {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.abcd);
    }
}

abcd.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Text"
        android:id="@+id/textView9"
        android:layout_gravity="center_vertical" />
</LinearLayout>

当我 运行 这个项目时,它工作时没有任何崩溃,但是当我单击图像时,它不会启动一个新的 activity。

非常感谢。

在您的 onClick 中,您只是缺少按 Intent

启动 activity
Intent mainIntent = new Intent(getActivity(), abcd.class);
startActivity(mainIntent);  // <-- this is missing