Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何仅使用java代码以编程方式添加任何视图?_Java_Android_Programmatically - Fatal编程技术网

如何仅使用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(

我希望你很好。 我是java新手,我想添加任何视图,我只使用java代码确定它,我在对话框中这样做了,我使用以下代码将编辑文本添加到警报对话框中:

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活动中创建视图试试这个兄弟-->