所以,我试图从我制作的一个简单小部件的类中引用xml布局。
所以,我的小部件包含一个ImageView和两个TextView。我将为这个小部件添加代码,这样就不会让人感到困惑。
public class Item extends LinearLayout{
TextView tv1,tv2;
ImageView img;
public Item(Context context,int resid, String t1, String t2) {
super(context);
setOrientation(HORIZONTAL);
setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
}
});
img = new ImageView(context);
tv1 = new TextView(context);
tv2 = new TextView(context);
img.setBackgroundResource(resid);
img.setVisibility(View.VISIBLE);
img.setLayoutParams(new ViewGroup.LayoutParams(200, 200));
tv1.setText(t1);
tv1.setTextSize(15);
tv1.setGravity(Gravity.CENTER);
tv1.setLayoutParams(new ViewGroup.LayoutParams(250, 100));
tv2.setText(t2+"lei");
tv2.setTextSize(15);
tv2.setGravity(Gravity.CENTER);
tv2.setLayoutParams(new ViewGroup.LayoutParams(250,100));
tv1.setBackgroundColor(Color.GREEN);
tv2.setBackgroundColor(Color.BLUE);
addView(img);
addView(tv1);
addView(tv2);
}
所以,正如你所看到的,为每个“Item”添加了一个clickListener。我想要做的是,能够引用作为第二个活动的xml布局,这样我就可以操作这个小部件中的这个布局。
第二个活动的课程:
public class Final extends Activity {
LinearLayout fl;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.final_layout);
View rootView = getWindow().getDecorView().findViewById(android.R.id.content);
fl = (LinearLayout) rootView.findViewById(R.id.fl);
}
}
第二项活动的XML文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:id="@+id/fl"
android:layout_width="match_parent"
android:layout_height="match_parent">
</LinearLayout>
因此,再次总结一下,我希望能够从类Item中向第二个活动添加内容,但是我无法引用与第二个活动相对应的XML布局。
答案 0 :(得分:0)
所以,实际上,唯一的方法是通过onclick方法传递变量。
我现在正在做的是:我得到两个String变量和一个Int.Strings用于textViews中写入的文本,int用于imageView的backgroundResource的资源ID,将它们传递给第二个活动并在那里使用它们来重新创建项目。
如果有人需要更多详情,请在此留言,我会尽力帮助。