如何仅使用java代码以编程方式添加任何视图?
我希望你很好。 我是java新手,我想添加任何视图,我只使用java代码确定它,我在对话框中这样做了,我使用以下代码将编辑文本添加到警报对话框中:如何仅使用java代码以编程方式添加任何视图?,java,android,programmatically,Java,Android,Programmatically,我希望你很好。 我是java新手,我想添加任何视图,我只使用java代码确定它,我在对话框中这样做了,我使用以下代码将编辑文本添加到警报对话框中: AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this, AlertDialog.THEME_TRADITIONAL); alert.setTitle("Title"); final EditText myedit = new EditText(
AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this, AlertDialog.THEME_TRADITIONAL);
alert.setTitle("Title");
final EditText myedit = new EditText(MainActivity.this);
myedit.setHint("Type something");
myedit.setLayoutParams
(new LinearLayout.LayoutParams
(android.widget.LinearLayout.LayoutParams.WRAP_CONTENT,
android.widget.LinearLayout.LayoutParams.WRAP_CONTENT));
final AlertDialog dialog = alert.create();
dialog.show();
这对我来说100%有效,我在对话框中得到了edittext,如下所示:
现在我无法在MainActivity视图中使用这种方式获得其他视图:
例如,我在这里尝试了这段代码,但没有得到任何结果:
final LinearLayout linear1 = new LinearLayout(this);
linear1.setOrientation(LinearLayout.HORIZONTAL);
linear1.setBackgroundColor(Color.white);
LinearLayout.LayoutParams layoutForInner = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
linear1.setLayoutParams(layoutForInner);
final ListView listview1 = new ListView(this);
listview1.setLayoutParams
(new LinearLayout.LayoutParams
(android.widget.LinearLayout.LayoutParams.WRAP_CONTENT,
android.widget.LinearLayout.LayoutParams.WRAP_CONTENT));
linear1.addView(listview1);
请帮助我解决这个问题,如果不可能,请给我其他方法,只从.java添加/创建视图,而不需要.xml。要使其正常工作,您必须使用对话框而不是AlertDialog类
Dialog dialog = new Dialog(getActivity(),android.R.style.Theme_Black_NoTitleBar_Fullscreen);
dialog.setContentView(R.layout.your_contentview);
定义对话框后,必须在对话框中定义视图
ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, );
LinerLayout layout = new LinearLayout(context, params);
dialog.addView(loadMsg, params);
final ListView listview1 = new ListView(this);
listview1.setLayoutParams (new LinearLayout.LayoutParams (android.widget.LinearLayout.LayoutParams.WRAP_CONTENT,
android.widget.LinearLayout.LayoutParams.WRAP_CONTENT));
linear1.addView(listview1);
dialog.setView(layout);
dialog.show();
总而言之//
1.定义一个对话框
2.在其中进行线性布局
3.在其中添加listview。
调用set-view方法。非常感谢您的回答,请告诉我如何将视图添加到主屏幕“MainActivity”,而不是对话框,而是列表视图,我是否应该按照您的步骤进行操作?共享完整的java代码兄弟,我所要做的就是如何使用java代码以编程方式创建线性、按钮、视图……等等,如下所示:'myedit.setLayoutParams(新建LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams.WRAP_内容,android.widget.LinearLayout.LayoutParams.WRAP_内容));“我想在我的主屏幕Main活动中创建视图试试这个兄弟-->