如何从导航抽屉片段中的图像按钮启动 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
我已经实现了带有片段的导航抽屉,现在我正尝试从这些片段中打开 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
启动 activityIntent mainIntent = new Intent(getActivity(), abcd.class);
startActivity(mainIntent); // <-- this is missing