問題是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. 將按鈕添加到其他佈局
- 2. 嘗試訪問ListView佈局按鈕時出現NullPointerException
- 3. Android - 按鈕在佈局中的其他按鈕「跟隨」
- 4. 其他佈局上的按鈕給出空例外
- 5. 設置4按鈕的自動佈局
- 6. 桂按鈕佈局的問題
- 7. 在Android 3按鈕佈局的問題
- 8. IE8中的按鈕佈局問題
- 9. 沒有出現android按鈕佈局
- 10. Android佈局按鈕部分出現
- 11. 在按鈕上設置新佈局
- 12. 按鈕和EditTextbox和佈局問題
- 13. Android - 佈局:定位按鈕問題
- 14. Jquery UI關閉按鈕佈局問題
- 15. 顯示當按鈕點擊現有佈局時的佈局
- 16. 簡單的XML Android佈局問題:按鈕出現在界面的底部
- 17. 基於其他按鈕的條件設置按鈕的條件
- 18. 單擊全部按鈕時出現問題。 CSS按鈕
- 19. 設置滾動條時出現問題
- 20. 設置PopoverContentSize時出現問題
- 21. 設置計數器時出現問題
- 22. 爲iOS設置Frank時出現問題
- 23. 設置hadoop時SSH出現問題
- 24. 在使用bigblue按鈕配置服務器時出現問題
- 25. 設置孩子ExpandableListView按鈕來改變點擊時的佈局
- 26. 如何在按下佈局中的其他活動按鈕時停止服務
- 27. 在Android中的其他Activity中設置按鈕上的時間
- 28. 創建對象並設置其變量時出現問題
- 29. 相對佈局實現刷卡刷新佈局時的問題
- 30. UIAlertView其他按鈕標題
請顯示您的代碼 –
發佈您的堆棧跟蹤。 –
歡迎來到StackOverflow。請閱讀並遵守幫助文檔中的發佈準則。 [MCVE](http://stackoverflow.com/help/mcve)適用於此處。在您發佈代碼並準確描述問題之前,我們無法爲您提供幫助。 – Prune