我在MainActivity中编写了一个简单的代码,其中包含以前成功运行的xml代码。现在,我想制作一个片段,并在该片段中运行MainActivity代码。我什么都试过了,甚至把两种代码结合起来等等,但都没用。我在下面附上我的主要活动代码。这是我想在片段中使用的。我已经知道片段类似于活动的子活动,两者都有单独的XML,我也知道如何使用。只是无法将旧应用程序中的MainActivity代码用作新应用程序中的FragmentActivity
1)需要作为片段的主活动代码
package com.ranatalha.userauthority;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
import android.widget.TextView;
public class MainActivity
extends AppCompatActivity
implements GestureDetector.OnGestureListener, GestureDetector.OnDoubleTapListener{
private TextView mytext;
private GestureDetector gestureDetector;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //this is above two lines cox phly content set hoga tbi agy kam hna na
this.gestureDetector = new GestureDetector(this, this);
gestureDetector.setOnDoubleTapListener(this); }
//******************Upon clicking the button*************************
public void changetextshort(View v) {
mytext = (TextView) findViewById(R.id.mytext);
mytext.setText("Surpriseeee"); }
//******************initializing touch event*************************
@Override
public boolean onTouchEvent(MotionEvent event) {
this.gestureDetector.onTouchEvent(event);
return super.onTouchEvent(event);}
//******************Implements Methods from alt+ins(0) for touch properties*************************
@Override
public boolean onSingleTapConfirmed(MotionEvent motionEvent) {
mytext.setText("I tapped Once");
return false;}
@Override
public boolean onDoubleTap(MotionEvent motionEvent) {
mytext.setText("I tapped Twice");
return false;}
@Override
public boolean onDoubleTapEvent(MotionEvent motionEvent) {
mytext.setText("Double Tap Event Occurred");
return false;}
@Override
public boolean onDown(MotionEvent motionEvent) {
mytext.setText("Down goes");
return false;}
@Override
public void onShowPress(MotionEvent motionEvent) {
mytext.setText("I have pressed");}
@Override
public boolean onSingleTapUp(MotionEvent motionEvent) {
mytext.setText("Single Tap Up");
return false;}
@Override
public boolean onScroll(MotionEvent motionEvent, MotionEvent motionEvent1, float v, float v1) {
mytext.setText("I'm Scrolling");
return false;}
@Override
public void onLongPress(MotionEvent motionEvent) {
mytext.setText("I long pressed");}
@Override
public boolean onFling(MotionEvent motionEvent, MotionEvent motionEvent1, float v, float v1) {
mytext.setText("I FLINNGED");
return false; }
}
2)片段代码(MainActivity现在没有任何代码,除了MainActivity的基本代码,如类名和OnCreate代码-尽管我在第3点也添加了MainActivity代码,这实际上需要与我们在android应用程序中制作片段时差不多)
package com.ranatalha.userauthority;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.app.AppCompatActivity;
import android.view.GestureDetector;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class TopSectionFragment extends Fragment {
public class Top
extends AppCompatActivity
implements GestureDetector.OnGestureListener, GestureDetector.OnDoubleTapListener{
private TextView mytext;
private GestureDetector gestureDetector;
//******************Override method oncreateview for fragment*************************
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.top_section_fragment,container, false);
this.gestureDetector = new GestureDetector(this, this);
gestureDetector.setOnDoubleTapListener(this);
return view; //designing of top section fragment completed
}
//******************Upon clicking the button*************************
public void changetextshort(View v) {
mytext = (TextView) findViewById(R.id.mytext);
mytext.setText("Surpriseeee"); }
//******************initializing touch event*************************
@Override
public boolean onTouchEvent(MotionEvent event) {
this.gestureDetector.onTouchEvent(event);
return super.onTouchEvent(event);}
//******************Implements Methods from alt+ins(0) for touch properties*************************
@Override
public boolean onSingleTapConfirmed(MotionEvent motionEvent) {
mytext.setText("I tapped Once");
return false;}
@Override
public boolean onDoubleTap(MotionEvent motionEvent) {
mytext.setText("I tapped Twice");
return false;}
@Override
public boolean onDoubleTapEvent(MotionEvent motionEvent) {
mytext.setText("Double Tap Event Occurred");
return false;}
@Override
public boolean onDown(MotionEvent motionEvent) {
mytext.setText("Down goes");
return false;}
@Override
public void onShowPress(MotionEvent motionEvent) {
mytext.setText("I have pressed");}
@Override
public boolean onSingleTapUp(MotionEvent motionEvent) {
mytext.setText("Single Tap Up");
return false;}
@Override
public boolean onScroll(MotionEvent motionEvent, MotionEvent motionEvent1, float v, float v1) {
mytext.setText("I'm Scrolling");
return false;}
@Override
public void onLongPress(MotionEvent motionEvent) {
mytext.setText("I long pressed");}
@Override
public boolean onFling(MotionEvent motionEvent, MotionEvent motionEvent1, float v, float v1) {
mytext.setText("I FLINNGED");
return false; }
}
}
3)Mainactive代码(将包含Fraank子活动)
package com.ranatalha.userauthority;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
public class MainActivity
extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); }
}
不清楚你所说的“制作一个片段并在该片段中运行Mainactive代码”是什么意思......
如果您想启动一个活动并使其覆盖片段,可以尝试使用MCeley在“从片段启动活动”中的代码
> Intent intent = new Intent(getActivity(), mFragmentFavorite.class);
> startActivity(intent);
当从活动和片段转换代码时,需要记住的一件主要事情是,您可能必须切换使用上下文的内容<这行:This。gestureDetector=新的gestureDetector(this,this)
很可能是给你带来麻烦的事情之一
这:
GestureDetector(上下文上下文,GestureDetector。OnGestureListener监听器)
可能是您尝试使用的构造函数。作为上下文的参数需要从活动中的this更改为片段中的getContext()(或扩展上下文的内容)
用于首先创建片段:
https://developer.android.com/guide/components/fragments.html
// Create new fragment and transaction
Fragment newFragment = new ExampleFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(null);
// Commit the transaction
transaction.commit();
代码示例中提到的容器通常类似于FrameLayout
。
我尝试使用Android兼容库(或现在称为支持库)v4用于预蜂窝Android设备。我理解,我应该使用FragmentActivity类,而不是使用Fragment类。根据我能找到的所有教程,我可以在Fragment类中使用onCreateView方法: 公共视图onCreateView(LayoutFlater充气机、ViewGroup容器、捆绑包保存状态) 然而,FragmentActivit
当从SVN中提取iOS代码时,我有一个问题。我的代码在我的MAC上运行良好,但当我将它上传到SVN并尝试构建我的项目时,它一遍又一遍地显示相同的错误。 Apple Mach-O链接器(id)错误 ld:找不到-lzbar命令/developer/platforms/iphonesimulator的库。platform/developer/usr/bin/clang失败,退出代码为1 这个问题很烦人
我有一个我正在迁移到。我唯一无法更改的两个代码段如下。 只是想知道以下内容应该在中 非常感谢任何建议,
我有java类,我想把它们转换成pl sql包。是否有任何工具(开源或商业)可用于进行转换。
问题内容: 我需要具有当前选定的行ID才能构建一个JSON字符串,该字符串将传递给php脚本以创建一个选择,因此我将脚本引用和代码封装在一个函数中。 但是,这样做会产生错误。 这是代码段: 有人知道发生了什么吗? 更新: 问题答案: 该属性不能是一个函数。如果在建立select期间需要将任何其他信息发送到服务器,则可以使用ajaxSelectOptions选项,如我在此所述。在您的情况下,将涉及以