0
所以,我試圖從我製作的一個簡單的窗口類的類中引用xml佈局。引用一個窗口小部件類中的xml佈局
所以,我的小部件包含一個ImageView和兩個TextViews.I將爲這個小部件添加代碼,所以沒有人會感到困惑。
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);
}
所以,你可以看到,有一個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佈局。
我沒有在這裏跟蹤你..你想引用從第一個活動中創建的Widget的第二個活動?當第二個尚未創建? – mmark
實際上,我不關心活動。我只是想知道是否有可能在不創建活動的情況下引用XML文件。因爲我想要做的就是在LinearLayout中添加一些視圖,這個XML文件,沒有別的。 – Vlad
它就像http://trickyandroid.com/protip-inflating-layout-for-your-custom-view/你的意思是什麼? – mmark