當前我在LinearLayout布局下設定button控制元件和View控制元件:
<Button
android:id="@+id/bt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button"
android:visibility="visible" />
<View
android:id="@+id/v"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="visible" />
然而我創建了NewView的類,用于在View繪制圓:
public class NewView extends View {
public NewView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public NewView(MainActivity mainActivity) {
super(mainActivity);
}
在Mainactivity.java撰寫了點擊button控制元件在View控制元件繪坐標點:
private Button Search;
private View v;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initview();
}
public void initview(){
Search = findViewById(R.id.bt);
v=(View)findViewById(R.id.v);
Search.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
NewView newView = new NewView(MainActivity.this);
setContentView(newView);
}
});
}
但是測驗結果是我在點擊button控制元件時,button控制元件下的View控制元件不繪制圓,而是手機螢屏中button控制元件消失,新出現View控制元件來繪制坐標點,想咨詢各位大佬怎么修改代碼,使其能在button控制元件點擊后,在button控制元件下方的View控制元件顯示我畫的坐標點?而不是點擊button控制元件后,button控制元件消失,新出現View控制元件繪制坐標點。希望各位大佬能伸出援手幫幫我,急需各位大佬的幫助
uj5u.com熱心網友回復:
public void initview(){Search = findViewById(R.id.bt);
v=(View)findViewById(R.id.v);
Search.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
NewView newView = new NewView(MainActivity.this);
setContentView(newView); // 這個地方不能用這個陳述句,這樣是改變了MainActivity的內容
}
});
}
你這樣是重新設定了MainActivity顯示的內容
我感覺可以在R.layout.activity_main檔案內,創建兩個LinearLayout容器,一個容器放按鈕,一個容器放自定義的View,在按鈕的監聽器里對第二個LinearLayout用addView()加入你新建的View
大概是這樣
public void onClick(View view) {
NewView newView = new NewView(MainActivity.this);
第二個LinearLayout的ID.addView(newView); // 這個地方不能用這個陳述句,這樣是改變了MainActivity的內容
}
uj5u.com熱心網友回復:
上面的回答的第二段代碼的注釋忘刪了
uj5u.com熱心網友回復:
大佬你好,感謝解答,我自己改換了其他的方法實作,但是又遇到了新問題,想私下向大佬請教。請問大佬能給一下聯系方式嗎?或者添加我QQ(3480618847)也行,感謝感謝轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/37381.html
標籤:Android
上一篇:unubtu命令列運行qt報錯
下一篇:Qt原始碼裁剪
