我正在为一个应用程序(android)开发项目,我正在使用Android Studio
为我的公司。问题是我在这种编程中是新手。我来自Windows VB
,我担心在Android Java
工作并不那么容易。
我已经为我的应用创建了一个基本界面,并选择了基于FrameLayout
的应用程序(就像Panels
中的VB
一样)。到现在为止还挺好。
但是,由于ClickListener
Button
位于MainActivity
,我在Button
课程activity_main.xml
上分配Button
时遇到了麻烦文件。让我告诉你到目前为止我得到了什么:
拳头我在FrameLayout
文件上创建了activity_main.xml
和<Button
android:id="@+id/CO001"
android:layout_marginLeft="@dimen/campo007_left"
android:layout_marginTop="@dimen/campo007_top"
android:layout_width="@dimen/campo007_width"
android:layout_height="@dimen/campo007_height"
android:text="@string/co001"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<FrameLayout
android:id="@+id/FR001"
android:layout_marginLeft="@dimen/field006_l"
android:layout_marginTop="@dimen/field006_t"
android:layout_width="@dimen/field006_w"
android:layout_height="@dimen/field006_h"
android:layout_marginStart="0dp"
android:visibility="invisible"
android:contentDescription="@string/app_name"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
:
MainActivity.java
然后,在onCreate
内部bt001
方法中,我将该按钮声明为setOnClickListener
,并在FrameLayout
上为其指定了.xml
方法另一个fr001.xml
文件(Button bt001 = (Button) findViewById(R.id.CO001);
bt001.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view){
FrameLayout fr001 = (FrameLayout) findViewById(R.id.FR001);
fr001.setVisibility(View.VISIBLE);
fr001.removeAllViews();
View frcont = getLayoutInflater().inflate(R.layout.fr001, null);
fr001.addView(frcont);}});
)的内容:
Visual Basic
这项工作完全没问题。几乎像fr001.xml
。但是,在<Button
android:id="@+id/FR001CO001"
android:layout_width="200dp"
android:layout_height="130dp"
android:layout_marginLeft="432dp"
android:layout_marginTop="54dp"
android:background="@android:color/holo_red_dark"
android:text="@string/ModA"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
上,我有另一个按钮:
setOnClickListener
当我尝试为其分配.xml
方法时,应用程序崩溃了。我认为这是因为第二个MainActivity
文件没有加载&#34;在.xml
或类似的东西......
我已经尝试将第二个CO001
文件链接到另一个活动并在您点击.xml
按钮后启动它,但在这种情况下,第二个FrameLayout
出现在原始{ {1}}并在应用程序屏幕上启动,我不想要。
我很肯定这个问题有一个简单的解决方案(或者可能不是!!)。你能帮我解决这个问题吗?任何帮助将非常感激。并且,一如既往地提前感谢你们。
答案 0 :(得分:0)
你应该可以得到这样的按钮:
LayoutInflater inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.fr001, null);
Button button = (Button) view.findViewById(R.id.FR001CO001);