public class MjpegPlayerFragment extends Fragment {
private RelativeLayout relativeLayout;
公共视图onCreateView(LayoutInflater inflater、ViewGroup容器、Bundle savedInstanceState){
Log.d(TAG, "Fragment View Created") ;
View view = inflater.inflate(R.layout.preview_player, container, false) ;
relativeLayout = (RelativeLayout) getActivity().findViewById(R.id.splash);
ChangeBackground = (ImageButton) view.findViewById(R.id.ChangeBackground);
ChangeBackground.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Activity activity = getActivity();
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent, 1);
}
});
}
@SuppressLint("NewApi")
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
if(resultCode == Activity.RESULT_OK) {
Context context = getActivity();
Uri uri = data.getData();
ContentResolver cr = context.getContentResolver();
try {
Bitmap bitmap = BitmapFactory.decodeStream(cr.openInputStream(uri));
BitmapDrawable background = new BitmapDrawable(bitmap);
relativeLayout.setBackground(background);
} catch (FileNotFoundException e) {
// TODO: handle exception
}
}
super.onActivityResult(requestCode, resultCode, data);
}
}
但是它崩溃了,错误日志如下所示:
D/AndroidRuntime(29590): Shutting down VM
W/dalvikvm(29590): threadid=1: thread exiting with uncaught exception (group=0x416cc450)
--------- beginning of /dev/log/system
E/AndroidRuntime(29590): FATAL EXCEPTION: main
E/AndroidRuntime(29590): java.lang.RuntimeException: Failure delivering result ResultInfo{who=android:fragment:0, request=1, result=-1, data=Intent { dat=content://media/external/images/media/23878 }} to activity {tw.com.a_i_t.IPCamViewer/tw.com.a_i_t.IPCamViewer.MainActivity}: java.lang.NullPointerException
E/AndroidRuntime(29590): at android.app.ActivityThread.deliverResults(ActivityThread.java:3161)
E/AndroidRuntime(29590): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3204)
E/AndroidRuntime(29590): at android.app.ActivityThread.access$1100(ActivityThread.java:137)
E/AndroidRuntime(29590): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1254)
E/AndroidRuntime(29590): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(29590): at android.os.Looper.loop(Looper.java:213)
E/AndroidRuntime(29590): at android.app.ActivityThread.main(ActivityThread.java:4786)
E/AndroidRuntime(29590): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(29590): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(29590): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
E/AndroidRuntime(29590): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
E/AndroidRuntime(29590): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(29590): Caused by: java.lang.NullPointerException
E/AndroidRuntime(29590): at tw.com.a_i_t.IPCamViewer.Viewer.MjpegPlayerFragment.onActivityResult(MjpegPlayerFragment.java:1627)
E/AndroidRuntime(29590): at android.app.Activity.dispatchActivityResult(Activity.java:5196)
E/AndroidRuntime(29590): at android.app.ActivityThread.deliverResults(ActivityThread.java:3157)
E/AndroidRuntime(29590): ... 11 more
W/ActivityManager( 568): Force finishing activity tw.com.a_i_t.IPCamViewer/.MainActivity
W/ActivityManager( 568): Activity pause timeout for ActivityRecord{42260630 tw.com.a_i_t.IPCamViewer/.MainActivity}
(MJPEGPlayerFragment.java:1627)
是RelativeLayout.setBackground(背景);
我已经在oncreatview
中为Relationvelayout
添加了init,如下所示:
relativeLayout = (RelativeLayout) getActivity().findViewById(R.id.splash);
我的场景是:
Activity1-->Activity1-->片段
Splash的XML如下所示:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/splash"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/wifi_dvr" >
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/title"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="146dp"
android:src="@drawable/banner" />
</RelativeLayout>
我有两项活动。片段由activity2调用,我想改变Activity1的背景。
Relationvelayout
未初始化。要么是未初始化,要么是初始化失败。
relativeLayout = (RelativeLayout)getActivity().findViewById(R.id.relativelayout);
在片段类的onActivityCreated
中。
或者在Activity
类中初始化relativeLayout。使用接口作为活动的回调并更改活动本身的背景
我正在创建一个包含两个片段的活动。一个用于求和减法,另一个用于显示总值主活动包含变量(总值),如果片段中的值为总和,则变量(总值)按输入值增加,否则按输入值减少 这个变量(总数)显示在第二个片段中
长话短说。 我有两个片段的主要活动。因此,这里不是主要活动,而是两个片段。在第一个片段中有一个开关。 当选中或取消选中开关时,是否可以从主活动更新背景?背景设置在content_main中。xml,因为在更改片段时没有转换。 那么这有可能吗? 我认为这会奏效: 在主要活动中: 还是因为片段本身没有加载新的内容而不可能?如果是这样。怎么可能? 提前谢谢各位 资料来源: 从另一个活动更改一个活动的背景
问题内容: 我想将自己更改为我尝试过的内容,但无法将我的活动更改为片段。有人可以告诉我该怎么做吗?在哪里编辑我是Android上的新手。请告诉我和在此先感谢 这是我的活动: 问题答案: 只要了解一些步骤,您就可以现在和将来轻松地将Activity转换为Fragment ..: 首先,不要扩展,只要扩展.. 例如: 然后覆盖.. 然后通过LayoutInflater扩展布局,并分配给进一步用于子视图
我找不到如何从< code>Activity更改fragment的< code>textview。我有4个文件: frag_class.xml有textView,我想更改MainActivity.java的文本。FragmentClass扩展了片段,此片段显示在MainActivity中,FragmentClass具有: 在MainActivity中,我尝试了这个: 但可悲的是,这段代码给了我Nu
我刚接触Android,有一个带有片段的选项卡布局,我有一个编辑文本字段,它是在我的父活动中声明的,我想检查编辑文本字段是否为空,是否来自片段。我该怎么做呢?这是我做的,但它显示了错误。这是我的主要活动编辑文本字段: 这是我的片段活动: 这是我的日志: