問題是MainActivity從帶有layout.xml的setContentView開始。我們可以在MainActivity類中的佈局和代碼中添加按鈕或任何東西,但是當我嘗試在同一個Activity中編寫另一個佈局的按鈕時,應用程序強制停止。怎麼了 ?設置其他佈局的按鈕時出現問題
回答
請寄給我您的活動 什麼問題的文字?
你可以寫下面的代碼到另一個活動
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(getApplicationContext(),nameActivity.class));
}
});
哪裏按鈕是你的按鈕
的名稱見你的XML文件可是沒有任何錯誤
是的兄弟去其他活動是好的。我正在討論來自同一活動中另一個佈局的編碼按鈕。 –
什麼問題的文字? –
我不能幫你,如果你不給我發一個問題的文本 –
你得到一個因爲您試圖在未充氣時訪問佈局,因此崩潰。換句話說,你必須在一個Activity上調用setContentView()
,或者在Fragment上調用inflater.inflate()
來實例化視圖並使元素可以被操作。所以,如果你想添加按鈕到另一個活動,你需要調用它的onCreate()
和setContentView()
,然後才能添加按鈕。
編輯:在響應於留言...
爲了訪問/操縱/修改元件在運行時的佈局,他們必須首先被實例化,當視圖被充氣恰好。所以,一個按鈕在運行時添加一個活動,你會調用setContentView()
這樣做後,它在onCreate()
方法:
請記住,這是你的第二個活動的onCreate()
......不是你的主要活動。因此,您的主要活動將啓動此活動,然後該按鈕將在第二個活動的設置過程中創建。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.your_second_activity;
Button button = new Button(this);
button.setText("Your New Button");
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d("NEW BUTTON", "I just clicked my new button!");
}
});
RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.layout_in_your_second_activity);
relativeLayout.addView(button);
}
如果您使用的是片段,以顯示您的用戶界面,直到你誇大你的佈局,這發生在onCreateView()
方法,你不能訪問你的UI元素。所以,你會做你的代碼片段是這樣的:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.your_fragment_layout, container, false);
RelativeLayout relativeLayout = (RelativeLayout) view.findViewById(R.id.container_layout_that_holds_button);
//You would get your context from an onAttach() Override
Button button = new Button(context);
button.setText("Your New Button");
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d("NEW BUTTON", "I just clicked my new button!");
}
});
relativeLayout.addView(button);
return view;
}
你很可能得到一個NullPointerException
當您嘗試在創建之前,他們來操縱你的佈局。請記住,即使您有一個內部指定了佈局的XML文件,這些元素的實際對象也只有在系統確定需要它們時纔會創建,當您真正嘗試顯示該視圖時會發生這種情況。
你可以舉一個例子做什麼? –
@YasinArefin - 查看我上面的編輯。 – NoChinDeluxe
- 1. 嘗試訪問ListView佈局按鈕時出現NullPointerException
- 2. 設置4按鈕的自動佈局
- 3. 在Android 3按鈕佈局的問題
- 4. IE8中的按鈕佈局問題
- 5. Android佈局按鈕部分出現
- 6. 在按鈕上設置新佈局
- 7. Jquery UI關閉按鈕佈局問題
- 8. 簡單的XML Android佈局問題:按鈕出現在界面的底部
- 9. 單擊全部按鈕時出現問題。 CSS按鈕
- 10. 設置孩子ExpandableListView按鈕來改變點擊時的佈局
- 11. 如何在運行時設置按鈕的佈局寬度?
- 12. 設置PopoverContentSize時出現問題
- 13. 設置hadoop時SSH出現問題
- 14. 設置計數器時出現問題
- 15. 爲iOS設置Frank時出現問題
- 16. 在Android中的其他Activity中設置按鈕上的時間
- 17. UIAlertView其他按鈕標題
- 18. 創建對象並設置其變量時出現問題
- 19. 其他時間調用AsyncTask obj時出現的問題 - Android
- 20. 排列布局中的TextView和複選框時出現問題
- 21. Android - 獲取佈局使用75%的屏幕時出現問題
- 22. 訪問單選按鈕的OnChange javascript事件時出現問題
- 23. 設置按鈕出現在懸停
- 24. ClickOnce設置和其他問題vb.NET
- 25. DataGrid視圖按鈕列出現問題
- 26. Droid X問題,按鈕不出現。 (Android)
- 27. 問題設計XML佈局
- 28. 問題在設計佈局
- 29. 佈局設計問題
- 30. 佈局中按鈕的確切位置
請顯示您的代碼 –
發佈您的堆棧跟蹤。 –
歡迎來到StackOverflow。請閱讀並遵守幫助文檔中的發佈準則。 [MCVE](http://stackoverflow.com/help/mcve)適用於此處。在您發佈代碼並準確描述問題之前,我們無法爲您提供幫助。 – Prune