Java 按钮。performClick()不';行不通
我需要创建一个包含一些视图的线性布局,当点击一个按钮时,这个按钮是由另一个活动中的动作触发的,所以我使用了performClick,但它似乎不起作用;这是我的密码:Java 按钮。performClick()不';行不通,java,android,Java,Android,我需要创建一个包含一些视图的线性布局,当点击一个按钮时,这个按钮是由另一个活动中的动作触发的,所以我使用了performClick,但它似乎不起作用;这是我的密码: Button click = new Button(rootView.getContext()); SharedPreferences participant; Editor editor; SharedPreferences visible;
Button click = new Button(rootView.getContext());
SharedPreferences participant;
Editor editor;
SharedPreferences visible;
Editor vis;
participant = rootView.getContext().getSharedPreferences("participant", rootView.getContext().MODE_PRIVATE);
visible = rootView.getContext().getSharedPreferences("visible", rootView.getContext().MODE_PRIVATE);
editor = participant.edit();
final String name= participant.getString("key", "toto");
final String view = participant.getString("view","non");
if(view.equalsIgnoreCase("yes")) click.performClick();
click.setOnClickListener(new OnClickListener() {
@Override
public void onClick(final View v) {
// Creating a new LinearLayout
final LinearLayout ln = new LinearLayout(v.getContext());
// Setting the orientation to horizontal
ln.setOrientation(LinearLayout.HORIZONTAL);
formbis.addView(ln);
TextView tv1 = new TextView(v.getContext());
tv1.setText(name);
tv1.setTextSize(14);
tv1.setTypeface(null, Typeface.BOLD);
tv1.setPadding(0, 15, 0, 10);
tv1.setLayoutParams(new LayoutParams(
500,
LayoutParams.WRAP_CONTENT));
ln.addView(tv1);
final ImageButton edit = new ImageButton(v.getContext());
Drawable checked = getResources().getDrawable( R.drawable.content_edit );
edit.setImageDrawable(checked);
edit.setLayoutParams(new LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
edit.setBackgroundColor(Color.WHITE);
edit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
i = new Intent(v.getContext(), EditParticipantActivity.class);
startActivity(i);
}
});
ln.addView(edit);
final ImageButton delete = new ImageButton(v.getContext());
Drawable deleted = getResources().getDrawable( R.drawable.content_discard );
delete.setImageDrawable(deleted);
delete.setLayoutParams(new LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
delete.setBackgroundColor(Color.WHITE);
delete.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Toast.makeText(v.getContext(),
"Deleted ", Toast.LENGTH_LONG).show();
formbis.removeView(ln);
}
});
ln.addView(delete);
ln.setVisibility(View.GONE);
if(view.equalsIgnoreCase("yes"))ln.setVisibility(View.VISIBLE);
}
});
编辑
在这里(另一个活动),我将该值设置为yes,以便将linearLayout添加到第一个活动的视图中
Button members = (Button) findViewById(R.id.submit);
members.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
name = firstname.getText().toString();
editor.putString("key", name);
editor.commit();
editor.putString("view", "yes");
editor.commit();
i = new Intent(v.getContext(), ManageActivity.class);
startActivity(i);
//finish();
}
})) 首先定义
onClickListener
然后调用
if(view.equalsIgnoreCase(“yes”))单击.performClick()代码>定义单击后的行。onClickListner
代码。谢谢它工作了,但没有创建新的lnearLayout(ln)。每次单击按钮时都会修改它。谢谢它工作了,但没有创建新的lnearLayout(ln)每次单击按钮都会修改相同的布局是否意味着每次都会刷新相同的布局,但每次单击都要不断添加新布局(到现有布局中)?是!我想问题是我从一个活动转到了它之前的使用意图)好的。它还可能取决于您将代码放置在何处。每次单击时,您都可以定义一个函数,该函数将不断向现有的最外层布局添加新布局。请检查我的编辑,第二个活动用作警报对话框(但它不是警报对话框,我只是更改了它的主题)