如何在另一个活动中显示不同的字符串



我正在尝试根据列表视图列表项单击为文本视图显示不同的文本。目前,我正在创建许多新活动来完成此任务。以下代码就是这种情况之一。有没有简单的方法可以在同一活动(平衡计分卡活动(中显示不同的文本。我不想创建帖子活动。例如,如果列表视图position == 0单击了项目

R.String.Bsc

必须在平衡计分卡活动中显示。如果position == 1点击

R.String.Post

必须在平衡计分卡活动中显示。

列表视图类

public class AHSMLS extends AppCompatActivity{
    ListView list;
    String[] itemname ={
            "Degree in Physiotherapy",
            "Post Graduate options"
    };
    Integer[] imgid={
            R.drawable.mlsico,
            R.drawable.mls
    };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.cp_listview_main_activity);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        toolbar.setTitle("Physiotherapy");
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        ImageView img = (ImageView)findViewById(R.id.thumbnail);
        img.setImageResource(R.drawable.physiotherapy);
        CustomListAdapter adapter=new CustomListAdapter(this, itemname, imgid);
        list=(ListView)findViewById(R.id.list);
        list.setAdapter(adapter);
        list.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                                    int position, long id) {
                // TODO Auto-generated method stub
                if (position == 0) {
                    Intent intent = new Intent(getApplicationContext(), Bsc.class);
                    startActivity(intent);
                }else if (position == 1){
                    Intent intent = new Intent(getApplicationContext(), Post.class);
                    startActivity(intent);
                }
            }
        });
    }
}

平衡计分卡活动

public class Bsc extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_multiple_text_view);
        TextView tv3 = (TextView)findViewById(R.id.durationtextView);
        tv3.setText("•t 3 or 4 Year");
        TextView tv4 = (TextView)findViewById(R.id.institutiontextView);
        tv4.setText(R.string.bsc);

    }
}

发布活动

public class Post extends AppCompatActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_multiple_text_view);
            TextView tv3 = (TextView)findViewById(R.id.durationtextView);
            tv3.setText("•t 3 or 4 Year");
            TextView tv4 = (TextView)findViewById(R.id.institutiontextView);
            tv4.setText(R.string.Post);

        }
    }

如果我没答错你的问题。这是你要找的吗?使用此解决方案,您不需要帖子类。您可以使用 Bsc 类更改文本。

列表视图类

    public class AHSMLS extends AppCompatActivity{
        ListView list;
        String[] itemname ={
                "Degree in Physiotherapy",
                "Post Graduate options"
        };
        Integer[] imgid={
                R.drawable.mlsico,
                R.drawable.mls
        };
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.cp_listview_main_activity);
            Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
            toolbar.setTitle("Physiotherapy");
            setSupportActionBar(toolbar);
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            ImageView img = (ImageView)findViewById(R.id.thumbnail);
            img.setImageResource(R.drawable.physiotherapy);
            CustomListAdapter adapter=new CustomListAdapter(this, itemname, imgid);
            list=(ListView)findViewById(R.id.list);
            list.setAdapter(adapter);
            list.setOnItemClickListener(new OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view,
                                        int position, long id) {
                    // TODO Auto-generated method stub
                Intent intent = new Intent(getApplicationContext(), Bsc.class);
                Bundle bundle = new Bundle();
                //Add your data to bundle
                bundle.putInt("x", position);
                //Add the bundle to the intent
                intent.putExtras(bundle);
                startActivity(intent);
                    }
                }
            });
        }
    }

平衡计分卡活动

 public class Bsc extends AppCompatActivity {
    TextView tv3;
    TextView tv4;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_multiple_text_view);
         tv3 = (TextView)findViewById(R.id.durationtextView);
         tv4 = (TextView)findViewById(R.id.institutiontextView);
        //Get the bundle
        Bundle bundle = getIntent().getExtras();
        //Extract the data…
        int stuff = bundle.getInt("x");
        if(stuff == 0){
            tv3.setText("•t 3 or 4 Year");
            tv4.setText(R.string.bsc);
    }else if(stuff == 1){
            tv3.setText("•t 3 or 4 Year");
            tv4.setText(R.string.Post);
}
        }
    }

因此,您不需要在此处发布活动。祝兄弟好运!

(很抱歉格式蹩脚...仍然没有弄清楚粘贴代码时如何保留缩进(

哎呀....我认为这就是Reaz Murshed试图说的:

public class AHSMLS extends AppCompatActivity{
// START NEW CODE
TextView tv3;
TextView tv4;
// END NEW CODE

ListView list;
String[] itemname ={
        "Degree in Physiotherapy",
        "Post Graduate options"
};
Integer[] imgid={
        R.drawable.mlsico,
        R.drawable.mls
};
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.cp_listview_main_activity);

    // START NEW CODE
    tv3 = (TextView)findViewById(R.id.durationtextView);
    tv3.setText("•t 3 or 4 Year");
    tv4 = (TextView)findViewById(R.id.institutiontextView);
    // END NEW CODE


    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    toolbar.setTitle("Physiotherapy");
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    ImageView img = (ImageView)findViewById(R.id.thumbnail);
    img.setImageResource(R.drawable.physiotherapy);
    CustomListAdapter adapter=new CustomListAdapter(this, itemname, imgid);
    list=(ListView)findViewById(R.id.list);
    list.setAdapter(adapter);
    list.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                                int position, long id) {
            // TODO Auto-generated method stub
            if (position == 0) {
                // START NEW CODE
                tv4.setText(R.string.bsc);
            }else if (position == 1){
                tv4.setText(R.string.Post);
                // END NEW CODE
            }
        }
    });
}
}

最新更新