如何在android中设置用户选择的动态字符串?
我是Android的初学者。我正在尝试制作一个应用程序,当用户点击按钮时,他应该去另一个活动,比如说,如果用户点击按钮1,他会看到带有信息A的新活动,如果他按下按钮2,他会在他看到信息A的相同活动中看到信息B如何在android中设置用户选择的动态字符串?,android,Android,我是Android的初学者。我正在尝试制作一个应用程序,当用户点击按钮时,他应该去另一个活动,比如说,如果用户点击按钮1,他会看到带有信息A的新活动,如果他按下按钮2,他会在他看到信息A的相同活动中看到信息B 我如何设置它。我刚刚为您创建了一个示例项目: 如果我正确理解了你的问题,这里有一个解决方案 您可以使用的putExtras方法将键/值对中的数据传递给下一个活动 将以下内容添加到活动1布局中: <Button android:id="@+id/btnA" andro
我如何设置它。我刚刚为您创建了一个示例项目:
如果我正确理解了你的问题,这里有一个解决方案 您可以使用的putExtras方法将键/值对中的数据传递给下一个活动 将以下内容添加到活动1布局中:
<Button
android:id="@+id/btnA"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button A"
android:onClick="goToActivityFromButtonA" />
<Button
android:id="@+id/btnB"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/btnA"
android:text="Button B"
android:onClick="goToActivityFromButtonB" />
将以下内容添加到活动2布局中:
<TextView
android:id="@+id/txtText"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
您已经为第一个活动创建了第一个ui,如下所示
像这样的第二个活动的ui
activity first代码,其中我为两个按钮单击设置了带意图的索引(您还将字符串双行和带意图的消息放入)
包com.example.teststart;
导入android.os.Bundle;
导入android.os.Handler;
导入android.app.Activity;
导入android.content.Intent;
导入android.view.Menu;
导入android.view.view;
导入android.view.view.OnClickListener;
导入android.widget.Button;
公共类FirstActivity扩展活动实现OnClickListener{
按钮b1、b2;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_优先);
b1=(按钮)findViewById(R.id.button1);
b2=(按钮)findViewById(R.id.button2);
b1.setOnClickListener(本);
b2.setOnClickListener(本);
}
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
int id=v.getId();
开关(id){
案例R.id.button1:
意图i1=新意图(FirstActivity.this,secondactivity.class);
i1.额外(“一”,1);
星触觉(i1);
打破
案例R.id.按钮2:
意图i2=新意图(FirstActivity.this,secondactivity.class);
i2.额外(“一”,2);
星触觉(i2);
打破
}
}
}
第二个活动是,我得到那个整数值,以标识单击了哪个按钮,并在那个条件下启动操作
包com.example.teststart;
导入android.app.Activity;
导入android.os.Bundle;
导入android.widget.TextView;
公共类secondactivity扩展了活动{
文本视图电视;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
setContentView(R.layout.SecondActivity);
tv=(TextView)findViewById(R.id.textView1);
Bundle extras=getIntent().getExtras();
int index=extras.getInt(“一”);
如果(索引==1){
tv.setText(“信息-A”+索引);
}else if(索引==2){
tv.setText(“信息-B”+索引);
}
}
}
您已经尝试了哪些代码?请参见和。在活动布局文件中使用创建所需的按钮,然后在MainActivity.java类中使用onButtonClickListener中的Intent启动新活动。在“活动”布局中使用可显示需要显示的任何消息。
<TextView
android:id="@+id/txtText"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
TextView txtText = (TextView)findViewById(R.id.txtText);
txtText.setText(getIntent().getExtras().getString("buttonData"));
you have first create ui for first activity like this
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".FirstActivity" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="15dp"
android:layout_marginTop="77dp"
android:text="Button 1" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="110dp"
android:layout_marginLeft="38dp"
android:layout_toRightOf="@+id/button1"
android:text="Button 2" />
</RelativeLayout>
ui of second activity like this
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="second actvity" />
</LinearLayout>
activity first code where i set index with intent for both button click(you also put string double ling and message with intent)
package com.example.teststart;
import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class FirstActivity extends Activity implements OnClickListener{
Button b1,b2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
b1=(Button)findViewById(R.id.button1);
b2=(Button)findViewById(R.id.button2);
b1.setOnClickListener(this);
b2.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int id=v.getId();
switch(id){
case R.id.button1:
Intent i1=new Intent(FirstActivity.this,secondactivity.class);
i1.putExtra("one", 1);
startActivity(i1);
break;
case R.id.button2:
Intent i2=new Intent(FirstActivity.this,secondactivity.class);
i2.putExtra("one", 2);
startActivity(i2);
break;
}
}
}
and second activity i get that integer value to identify which button is clicked and fire operation on that condition
package com.example.teststart;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class secondactivity extends Activity{
TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.secondactvity);
tv=(TextView)findViewById(R.id.textView1);
Bundle extras = getIntent().getExtras();
int index = extras.getInt("one");
if(index==1){
tv.setText("nformation-A "+index);
}else if(index==2){
tv.setText("nformation-B "+index);
}
}
}