如何从Android Studio上的片段更改TextView

阿图尔·奥利维拉(Artur Oliveira)

我有问题。我有一个实现几个片段的活动。现在,我需要更新其中一个片段的textview,我在活动中包含了字符串,因此我需要将此字符串传递给片段并更新该textview。

NavigationDrawer.java->这是活动

String user = "";
InicialPage inicialpage = new InicialPage();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_naviagation_drawer);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    Bundle extras = getIntent().getExtras();
    if(extras !=null) {
        user = extras.getString("KEY"); // TODO this is the value that i need to pass to the fragment InicialPage
    }

    Bundle bundle = new Bundle();
    bundle.putString("USER", user);

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
            this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
    drawer.setDrawerListener(toggle);
    toggle.syncState();

    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
    navigationView.setNavigationItemSelectedListener(this);

    android.support.v4.app.FragmentTransaction fragmenttransaction =
            getSupportFragmentManager().beginTransaction();

    fragmenttransaction.replace(R.id.container, inicialpage);
    fragmenttransaction.commit();

    //inicialpage.setUsernameTextView(user);

    DrawerLayout drawer1 = (DrawerLayout) findViewById(R.id.drawer_layout);
    drawer1.closeDrawer(GravityCompat.START);

    TextView userNameTextView = (TextView)findViewById(R.id.usernametext);
    //userNameTextView.setText(user);

    android.app.Fragment currentFragment = getFragmentManager().findFragmentById(R.id.InicialPage);

}
    @Override
    public void onBackPressed () {
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        if (drawer.isDrawerOpen(GravityCompat.START)) {
            drawer.closeDrawer(GravityCompat.START);
        } else {
            super.onBackPressed();
        }
    }

    @Override
    public boolean onCreateOptionsMenu (Menu menu){
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.naviagation_drawer, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected (MenuItem item){
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }

    @SuppressWarnings("StatementWithEmptyBody")
    @Override
    public boolean onNavigationItemSelected (MenuItem item){
        // Handle navigation view item clicks here.

        int id = item.getItemId();
        android.support.v4.app.FragmentTransaction fragmenttransaction =
                getSupportFragmentManager().beginTransaction();

        if (id == R.id.InicialPage) {

            fragmenttransaction.replace(R.id.container, inicialpage);
            fragmenttransaction.commit();

        } else if (id == R.id.HistoryItem) {

            fragmenttransaction.replace(R.id.container, new Historic());
            fragmenttransaction.commit();

        } else if (id == R.id.FriendsItem) {

            fragmenttransaction.replace(R.id.container, new Friends());
            fragmenttransaction.commit();

        } else if (id == R.id.PointsItem) {

            fragmenttransaction.replace(R.id.container, new Points());
            fragmenttransaction.commit();

        } else if (id == R.id.BookBikeItem) {

            fragmenttransaction.replace(R.id.container, new BookBike());
            fragmenttransaction.commit();

        } else if (id == R.id.MessagesItem) {

            fragmenttransaction.replace(R.id.container, new Messages());
            fragmenttransaction.commit();

        }else if(id == R.id.Mapdebug)
        {
            Intent maps = new Intent(this,MapsActivity.class);
            startActivity(maps);

        }
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        drawer.closeDrawer(GravityCompat.START);
        return true;
    }

public void FrameClicked(View view) {
    //send user name to chat
    Intent i = new Intent(this, Chat.class);
    i.putExtra("USER", user);

    startActivity(i);
}

public void addFriend(View view) {
    LinearLayout principalLayout= (LinearLayout) findViewById(R.id.idFriendsVertical);
    LinearLayout secondaryLauout= new LinearLayout(this);
    TextView tx= new TextView(this);
    EditText et= (EditText) findViewById(R.id.ADD);

    String edittx= String.valueOf(et.getText().toString());
    if (edittx.equals("")) {
    }else
    {
        tx.setText(edittx);
        tx.setTextSize(22);
        tx.setTextColor(Color.BLACK);

        RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
        params.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE);
        params.setMargins(0, 20, 0, 10);

        secondaryLauout.addView(tx, params);
        principalLayout.addView(secondaryLauout);
    }
    et.setText("");
}

}

InicialPage.java->这是片段

public class InicialPage extends Fragment {

SQLiteDatabase db;
View view;
TextView usernameTextView;

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

    view = inflater.inflate(R.layout.fragment_inicial_page, container, false);
    usernameTextView = (TextView) view.findViewById(R.id.usernametext);

    return view;

}
萨米·T

您已经在创建捆绑包,所以我假设这就是您要发送的数据。但是,您必须在分片交易之前将该捆绑软件附加到分片上。

在您的活动中:

Bundle bundle = new Bundle(); //create the bundle
bundle.putString("USER", user); //attach data to the bundle

inicialpage.setArguments(bundle); //set the bundle on the fragment

//perform fragment transaction
fragmenttransaction.replace(R.id.container, inicialpage);
fragmenttransaction.commit();

在片段内部:

//retrieve the bundle
Bundle bundle = getArguments(); //retrieve the bundle
String bundleText = bundle.getString("USER"); //get the data on the bundle

//find view & set the text
usernameTextView = (TextView) view.findViewById(R.id.usernametext);
usernameTextView.setText(bundleText);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

android studio 上的片段

来自分类Dev

恢复片段时如何更改textView的值?

来自分类Dev

如何从片段中的OnListItemClick更改TextView的文本

来自分类Dev

如何更改片段上的地图视图?

来自分类Dev

如何更改ViewPager片段上的内容?

来自分类Dev

在单击Android上更改TextView背景颜色

来自分类Dev

如何使用Android导航抽屉更改片段

来自分类Dev

Android-如何动态更改片段布局

来自分类Dev

在Android中更改片段时如何加速

来自分类Dev

如何更改Android片段中按钮的文本

来自分类Dev

如何通过Android上的OpenGL ES 2.0的片段着色器更改颜色

来自分类Dev

如何通过Android上的OpenGL ES 2.0的片段着色器更改颜色

来自分类Dev

Android Studio Kotlin-从片段更改EditText文本

来自分类Dev

更改片段时,ImageView上的Android-Keep图像保留在片段上

来自分类Dev

Ubuntu 18.04 上的 Android Studio:未找到片段...如何“在代码中创建一个或多个片段”?

来自分类Dev

如何在Android Studio中使用JSON在谷歌地图片段上添加多个标记

来自分类Dev

如何在Android NativeScript应用程序上更改TextView底部强调颜色

来自分类Dev

Android:如何在滑动视图同级片段中更新TextView?

来自分类Dev

如何保存我的TextView Android Studio

来自分类Dev

在Android Studio中单击按钮更改TextView文本(Kotlin)

来自分类Dev

试图在Android Studio中使用图像更改textView

来自分类Dev

如何在Android TextView上使用removeSpan()?

来自分类Dev

Xamarin Android片段TextView SetText

来自分类Dev

如何使用子片段更改自定义操作栏中 textview 的文本

来自分类Dev

我如何在片段中正确处理绑定到切换方向更改的 TextView

来自分类Dev

Android从活动更改RecyclerView适配器上的TextView textSize

来自分类Dev

更改在Android Studio上构建的目标

来自分类Dev

更改在Android Studio上构建的目标

来自分类Dev

如何在TextView上更改drawableL图标的大小?

Related 相关文章

  1. 1

    android studio 上的片段

  2. 2

    恢复片段时如何更改textView的值?

  3. 3

    如何从片段中的OnListItemClick更改TextView的文本

  4. 4

    如何更改片段上的地图视图?

  5. 5

    如何更改ViewPager片段上的内容?

  6. 6

    在单击Android上更改TextView背景颜色

  7. 7

    如何使用Android导航抽屉更改片段

  8. 8

    Android-如何动态更改片段布局

  9. 9

    在Android中更改片段时如何加速

  10. 10

    如何更改Android片段中按钮的文本

  11. 11

    如何通过Android上的OpenGL ES 2.0的片段着色器更改颜色

  12. 12

    如何通过Android上的OpenGL ES 2.0的片段着色器更改颜色

  13. 13

    Android Studio Kotlin-从片段更改EditText文本

  14. 14

    更改片段时,ImageView上的Android-Keep图像保留在片段上

  15. 15

    Ubuntu 18.04 上的 Android Studio:未找到片段...如何“在代码中创建一个或多个片段”?

  16. 16

    如何在Android Studio中使用JSON在谷歌地图片段上添加多个标记

  17. 17

    如何在Android NativeScript应用程序上更改TextView底部强调颜色

  18. 18

    Android:如何在滑动视图同级片段中更新TextView?

  19. 19

    如何保存我的TextView Android Studio

  20. 20

    在Android Studio中单击按钮更改TextView文本(Kotlin)

  21. 21

    试图在Android Studio中使用图像更改textView

  22. 22

    如何在Android TextView上使用removeSpan()?

  23. 23

    Xamarin Android片段TextView SetText

  24. 24

    如何使用子片段更改自定义操作栏中 textview 的文本

  25. 25

    我如何在片段中正确处理绑定到切换方向更改的 TextView

  26. 26

    Android从活动更改RecyclerView适配器上的TextView textSize

  27. 27

    更改在Android Studio上构建的目标

  28. 28

    更改在Android Studio上构建的目标

  29. 29

    如何在TextView上更改drawableL图标的大小?

热门标签

归档