use*_*219 8 android android-button android-activity startactivityforresult
使用此代码,我可以轻松地动态插入一些布局.布局包含一个Button我想要启动的startActivityForResult.现在,当我得到结果(文本)时,我想将其设置为Button.
btnAggiungiCampo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
PopupMenu popup = new PopupMenu(this, btnAggiungiCampo);
popup.getMenuInflater().inflate(R.menu.menu_campi, popup.getMenu());
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
View child = null;
if (item.getTitle().equals(getString(R.string.Text))) {
child = getLayoutInflater().inflate(R.layout.inflate_campo, null);
rlCampi.addView(child);
Button btnGeneraPSW = (Button) child.findViewById(R.id.imageButton3);
btnGeneraPSW.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent inte = new Intent(this, Genera_password.class);
startActivityForResult(inte, REQ_CODE_ACT1);
}
});
}
}
}
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
if (requestCode == REQ_CODE_ACT1) {
// how can I set??
}
}
}
Run Code Online (Sandbox Code Playgroud)
完成所有操作后,在Genera_password Activity中执行此操作.
Intent data=new Intent();
data.putExtra("text",requiredText);
setResult(Activity.RESULT_OK,data);
finish(); //to destroy Genera_password Activity
Run Code Online (Sandbox Code Playgroud)
在当前活动的OnActivityResult中
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
if (requestCode == REQ_CODE_ACT1) {
String requredText=data.getExtras().getString("text");
button.setText(requredText);
}
}
}
Run Code Online (Sandbox Code Playgroud)
您无法在 ImageButton 上设置文本。ImageButton 没有为此的方法。相反,您必须使用 Button,或者,如果图像很重要,请使用下面带有 TextView 的 ImageButton。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageButton
android:layout_width="50dp"
android:layout_height="50dp"
android:scaleType="centerInside"
android:id="@+id/yourImageButton"
android:src="@drawable/yourSource"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/yourTextView"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
然后将检索到的文本设置到 TextView:
mYourTextView.setText(retrievedText);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3184 次 |
| 最近记录: |