繁体   English   中英

多布局多视图 Android Studio

[英]Multiple layouts and multiple views Android Studio

我正在尝试构建一个应用程序,我想在我的应用程序中添加多个视图。 我正在努力寻找一种正确处理视图的方法。 如果您在一个类 (MainActivity) 中执行此操作,则需要进行一些隐藏,我认为这不是那么好,可以以更可靠的方式完成,但我不知道如何进行。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
    StrictMode.setThreadPolicy(policy);


    editTextAddress = (EditText) findViewById(R.id.address);
    editTextPort = (EditText) findViewById(R.id.port);
    editTextMsg = (EditText) findViewById(R.id.msgtosend);
    buttonCalibrate = (Button)findViewById(R.id.calibrate);
    buttonMove0 = (Button)findViewById(R.id.Move0);
    buttonConnect = (Button) findViewById(R.id.connect);
    buttonDisconnect = (Button) findViewById(R.id.disconnect);
    buttonSend = (Button)findViewById(R.id.send);
    textViewState = (TextView)findViewById(R.id.state);
    textViewRx = (TextView)findViewById(R.id.received);


    buttonDisconnect.setEnabled(false);
    buttonSend.setEnabled(false);

    buttonConnect.setOnClickListener(buttonConnectOnClickListener);
    buttonDisconnect.setOnClickListener(buttonDisConnectOnClickListener);
    buttonSend.setOnClickListener(buttonSendOnClickListener);
    buttonMove0.setOnClickListener(buttonMove0OnClickListener);
    buttonCalibrate.setOnClickListener(buttonCalibrateOnClickListener);

例如,这是我的 java 代码,其中一些按钮不是来自 activity_main.xml,而是来自另一个 xml 文件。 该应用程序仅返回带有这些按钮的 NULL 指针,这是合乎逻辑的。

我见过很多方法,但我无法决定哪一种是合适的。 什么是正确的方法?

你可以使用butterKnife来帮助你,你可以简单地做到这一点

public class MainActivity extends Activity {  
@BindView(R.id.sample_text) TextView textView;
@BindView(R.id.sample_button) Button button;

@Override 
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
textView.setText("You can change this view accordingly");

@OnClick(R.id.click_button) 
void buttonClick() {  
//..you don't even need the line @InjectView(R.id.click_button) if this 
button isn't being used else where
}

}
}

如果您想在您的活动布局中显示另一个布局,您需要include该布局

activity_main.xml布局中包含another_layout.xml

...
<include
    android:id="@+id/included_layout"
    layout="@layout/another_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="0.1"
    android:gravity="bottom"/>
....

此代码将设置主布局底部的布局。

您可以根据需要隐藏此布局

View view = (View) findViewById(R.id.included_layout);
view.setVisibility(View.INVISIBLE);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM