当前位置: 首页 > 面试题库 >

如何将活动更改为片段

凌运恒
2023-03-14
问题内容

我想将自己更改ActivityFragment我尝试过的内容,但无法将我的活动更改为片段。有人可以告诉我该怎么做吗?在哪里编辑我是Android上的新手。请告诉我和在此先感谢

这是我的活动:

import android.app.Activity;

   import android.app.ProgressDialog;
   import android.content.Context;
  import android.content.Intent;
  import android.content.SharedPreferences;
  import android.content.SharedPreferences.Editor;
   import android.os.Bundle;
  import android.os.StrictMode;

import android.view.View;
import android.view.View.OnClickListener;
 import android.view.LayoutInflater;
import android.view.ViewGroup;
 import android.view.Window;
 import android.view.WindowManager;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
 import android.widget.Toast;

 import com.example.phonebook.models.UserModel;
import com.example.phonebook.services.ImageLoader;

public class Welcome extends Activity {
private ProgressDialog pDialog;
Button editprofile;
JSONParser jsonParser = new JSONParser();

ImageView Image;
UserModel user = (UserModel) getIntent().getSerializableExtra("User");
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
    .detectDiskReads().detectDiskWrites().detectNetwork()
    .penaltyLog().build());
   setContentView(R.layout.welcome);


    requestWindowFeature(Window.FEATURE_NO_TITLE);

     user = (UserModel) getIntent().getSerializableExtra("User");
Button editprofile = (Button)findViewById(R.id.btn_edit);
    ImageView image = (ImageView)findViewById(R.id.imageView1);
    TextView userfullname = (TextView) findViewById(R.id.userfullname);
    TextView tv_age = (TextView) findViewById(R.id.age);
    TextView tv_gender = (TextView) findViewById(R.id.gender);
    TextView tv_intrseted = (TextView) findViewById(R.id.intrestedin);


    int loader = R.drawable.loader;

    String UserfullName = user.getUser_Full_Name();
    String image_url = user.getUser_Image();
    String Age = user.getUser_Age();
    String Gender = user.getGender();
    String IntrestedIn = user.getIntrest_In();
    userfullname.setText(UserfullName);
    tv_age.setText(Age);
    tv_gender.setText(Gender);
    tv_intrseted.setText(IntrestedIn);
    Button logout=(Button)findViewById(R.id.logout);
    logout.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            SharedPreferences sharedPreferences =getSharedPreferences(MainActivity.MyLOGINDATA, Context.MODE_PRIVATE);

                      Editor editor = sharedPreferences.edit();
                      editor.clear();
                      editor.commit();
                      moveTaskToBack(true); 
                      Intent i=new Intent(getApplicationContext(),MainActivity.class);
                      startActivity(i);
                      finish();

        }
    });

    editprofile.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent e = new Intent(getApplicationContext(),
                    EditProfile.class);
            e.putExtra("userInfo", user);
            finish();
            startActivity(e);

        }
    });

    // ImageLoader class instance
    ImageLoader imgLoader = new ImageLoader(getApplicationContext(),
            Welcome.this);

    image.setTag(image_url);

// whenever you want to load an image from url
// call DisplayImage function
// url - image url to load
// loader - loader image, will be displayed before getting image
// image - ImageView 
    imgLoader.DisplayImage(image_url, Welcome.this, image);
}

}

问题答案:

只要了解一些步骤,您就可以现在和将来轻松地将Activity转换为Fragment ..:

首先,不要扩展Activity,只要扩展Fragment..

例如: public class Welcome extends Fragment{

然后覆盖onCreateView()..

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
.....
}

然后通过LayoutInflater扩展布局,并分配给View进一步用于子视图初始化。

喜欢: View mView = inflater.inflate(R.layout.welcome, null);

然后在主视图的帮助下初始化所有子视图。

 ImageView image = (ImageView) mView.findViewById(R.id.imageView1);
 TextView userfullname = (TextView) mView.findViewById(R.id.userfullname);

现在,像这里的活动一样执行所有任务。

最重要的事情.. 使用getActivity()在的地方context..

例如: Toast.maketext(getActivity(), "...", Toast.LENGTH_LONG).show();

有关更多信息,请访问Developers块中的Fragment。

谢谢



 类似资料:
  • 我需要创建一个“滑动活动”,当用户滑动它时它会滑动。当用户向左“滑动”时,活动应该向左滑动,新的活动会从右侧来到屏幕上。你不能把它放在中间。同样的事情发生在雅虎邮件应用程序中。你可以在阅读邮件时看到这个,向左滑动邮件移动到下一封邮件。就像下面一样。 在图中,您可以看到下一封邮件(标题为“谢谢”)正在从侧面打开。在我的例子中,它们是两种不同的活动。我们还建议在当前活动的右侧显示下一个活动的一小部分(

  • 我创建了一个带有“底部导航活动”的新项目: 这是生成的代码: 如何使用底部栏更改为新片段?例如,我有3个片段:Fragment1 Fragment2和Fragment3,我想用底部栏中的3个按钮更改为它们。我还想通过左右滑动手指来切换片段,我该怎么做?

  • 我有一个活动,将使用下面的方法动态添加片段。 FragmentA有一个文本视图。我的活动中有一个导航抽屉,我想根据在导航抽屉中单击的项目在片段(例如FragmentA、FragmentB和FragmentC)之间切换。当更改为另一个片段时,如何保存片段的状态。我已经实现了onSavedInstance(Bundle outState)和onActivityCreated(Bundle savedI

  • 我正在创建一个包含两个片段的活动。一个用于求和减法,另一个用于显示总值主活动包含变量(总值),如果片段中的值为总和,则变量(总值)按输入值增加,否则按输入值减少 这个变量(总数)显示在第二个片段中

  • 我有一个包含例如一个按钮的片段,我想允许包含该片段的活动更改此按钮视图,例如颜色和标题或src图像。最好的方法是什么? 更新:如果我不够清楚,很抱歉,但我希望活动可以随心所欲地更改整个视图,比如设置填充、颜色或任何东西。它将以编程方式创建视图,片段应该用新视图替换旧视图,并更改视图的ID,以便片段代码不受影响。如果我在片段中创建了获取这些视图的方法,那么主活动应该在什么时候调用它们?因为活动必须等

  • 问题内容: 我要在我的下一个Android项目中使用Retrofit 2.1.0。我想使用设计模式,因此为每个REST调用创建单独的类,即 IBalanceService.java BalanceRestClient.java BalanceActivity.java 如何通过onResponse()更新活动/片段中的UI? 附加信息: 最小SDK:19个 目标SDK:23个 使用OkHttp和g