- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Android 编程的初学者,我正在尝试将字符串数据的段落从 MainActivity 发送到另一个名为 Info Activity 的 Activity 。
我搜索了在 Activity 之间一次发送多个字符串数据的 Intent 方式,但似乎我只能在一个 TextView (displayTxt) 上显示其中一个(最新的一个)
这是将 Intent 数据从 MainActiviy 发送到 Info Activity 的函数
selectedItem() 返回微调器输入的 int 值
protected void setGoBtn(){
//Texts
rabitSyno=getString(R.string.rabit_syno);
lifeSyno=getString(R.string.life_syno);
poolSyno=getString(R.string.pool_syno);
goBtn=(Button)findViewById(R.id.goBtn);
goBtn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Intent intent=new Intent(v.getContext(),Info.class);
//send data to second activity
if(selectedItem()==1){
intent.putExtra("rabit_syno",rabitSyno);
startActivity(intent.putExtra("rabit_syno",rabitSyno));
}else if(selectedItem()==2){
intent.putExtra("life_syno",lifeSyno);
startActivity(intent);
}else if(selectedItem()==3){
intent.putExtra("pool_syno",poolSyno);
startActivity(intent);
}
}
});
}
下面是我在信息 Activity 中的接收方法
private int getTxt(){
txt=getIntent().getStringExtra("rabit_syno");
txt1=getIntent().getStringExtra("life_syno");
txt2=getIntent().getStringExtra("pool_syno");
String[] txtBox={txt,txt1,txt2};
int i;
//To get each movie's texts
for(i=0;i<3;i++){
if(i==0){
displayTxt.setText(txtBox[0]);
}else if(i==1){
displayTxt.setText(txtBox[1]);
}else if(i==2){
displayTxt.setText(txtBox[2]);
//the textView(displayTxt) only displays the txtBox[2] content
}
}
return i;
}
换句话说,是否有可能从一个 Activity 到另一个 Activity 以一个 Intent 接收不同的字符串数据,并仅在一个 TextView 上单独显示每个文本(比如新选择的项目的信息将覆盖之前选择的项目)?
最佳答案
No, I have 3 selections in a spinner, and each time a user can only choose one item, and this item would activate the correspondent intent String data transferring to info activity, and display the data onto ONE TextView
正确研究你的接收方法,你会发现没有任何方法应该起作用,你正在使用一个 for 循环,它在 i 为 2 时终止;文本将始终以 txtBox[2]
结束。
这是将您的值(value)观发送给另一方的更好方式:
goBtn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Intent intent=new Intent(v.getContext(),Info.class);
String chosenItem = "";
int position = 0;
if(selectedItem()==1){
chosenItem = rabitSyno;
position = 0;
}
else if(selectedItem()==2){
chosenItem = lifeSyno;
position = 1;
}
else if(selectedItem()==3){
chosenItem = poolSyno;
position = 2;
}
Bundle bundle = new Bundle();
bundle.putString("USERCHOICE", chosenItem);
bundle.putInt("VALUE", position);
startActivity(intent.putExtras(bundle));
}
});
您的接收方法可以是这样的:
private int getTxt(){
String txt=getIntent().getStringExtra("USERCHOICE");
displayTxt.setText(txt); //text has been set at this stage
int i = getIntent().getIntExtra("VALUE");
return i;
}
关于android - 为什么TextView只显示最后一个getIntent().getStringExtra()的内容?Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50321586/
intent.putExtra() 和 intent.getStringExtra() 不起作用。 getStringExtra 返回 null 发送端: Intent in
和getIntent().getIntExtra一样,getStringExtra是否有一个默认值,如果传递的字符串为空,可以使用该默认值? 我有一个方法可以做到这一点,但想知道是否有现成的方法可以实
主要 Activity : Intent intent = new Intent(Main.this, Secondary.class); intent.putExtra("name",value);
这是我的代码,第一个 Activity : final String countryName = name.getText().toString(); wikiButton.setText("WIKI
我正在尝试编写一个简单的应用程序,它会在按下按钮时打开一个新 Activity 。然后用户将能够在文本字段中输入一些文本,按下 Enter 按钮应该将他们返回到 TextView 应该显示的文本的主要
我尝试通过 Intent 向函数发送额外的字符串数据,但我收到的是空值。 这里是 intent.put: private void takePicFromGallery(String nameOfB
我试图将一些字符串从一个 Intent 传递到另一个 Intent 。但是 adt 说: Key text expected String but value was a android.text.S
这个问题在这里已经有了答案: How do I compare strings in Java? (23 个回答) 关闭 8 年前。 //intent.putExtra(EXTRA_MESSAGE,
这个问题在这里已经有了答案: Android Intent.getStringExtra() returns null (1 个回答) 关闭去年。 当我尝试在切换 Activity 时发送带有 In
我正在使用一个 EditText 字段和一个微调器。我必须将两者的结果传递给下一个 Activity 。在这里,reqd_bloodgroup 是微调项,我使用以下方法转换为字符串: reqd_blo
我怀疑这只是一些愚蠢的错误,但我被卡住了。问题很简单:我的字符串 path 没有发送到 MainActivity。 在 FileListActivity.class 中创建 Intent intent
这个问题在这里已经有了答案: Android Intent.getStringExtra() returns null (1 个回答) 去年关闭。 我真的觉得这很奇怪,我可以获得除一个之外的其他值。这
首先,我对编码非常陌生,而且对 Firebase 的功能也很陌生。问题是,我试图通过将数字与值关联来从 firebase 获取特定值。正如我将其设计为我的第一个 Activity (Buffer2),
我有一个 fragment 和 Activity 。从 fragment 中,我通过 putExtra 将名为 day 的字符串传递给 Activity 。但是当我在 Activity 中检索时出现空
我直接进入问题。在 UploadNotesActivity.java.... 首先,我使用 intent 选择一个 .pdf 文件 chooseNotesBtn.setOnClickListener(
我是 Android 编程的初学者,我正在尝试将字符串数据的段落从 MainActivity 发送到另一个名为 Info Activity 的 Activity 。 我搜索了在 Activity 之间
我正在使用 LocalBroadcastManager 广播一个 Intent ,我想在这个 Intent 中添加一个额外的字符串。 广播代码: Intent intent = new Int
所以在 Activity A 中,我通过 Intent 将一些数据传递给 Activity B。好的,一切正常,getStringExtra 返回我所期望的。然后,我从 Activity B 将相同的
我有这个调用 Activity 的代码 Intent intent; intent=new Intent(TopicsActivity.this, Di
我知道这个问题已经被问了很多,但我不知道我哪里错了.. 所以我通过一个 Activity 发送了一些数据并从另一个 Activity 中检索它。 第一个 Activity Timber.i("Phot
我是一名优秀的程序员,十分优秀!