在学习完教程之后,我确实设置了onClick-Listeners。
现在,我正在尝试制作一个简单的应用程序来收听一个流,但是我的onClickListener却什么也没做。
我在android studio 3.3.2中创建了一个新的非常简单的应用程序,以了解发生了什么。我想这是非常基本的东西。
package com.example.musicplay;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set the content of the activity to use the activity_main.xml layout file
setContentView(R.layout.activity_main);
final Button play_button = findViewById(R.id.play_button);
Log.i("Button found","this one: " + play_button.getText());
play_button.setOnClickListener(new View.OnClickListener() {
// The code in this method will be executed when the play button is clicked on.
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "A click happened!", Toast.LENGTH_SHORT).show();
}
});
setContentView(R.layout.activity_main);
}
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/play_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/play_button"/>
</LinearLayout>
单击按钮时应显示吐司消息,但什么也没有发生。
答案 0 :(得分:0)
您两次调用setContentView。这将替换第一个调用设置的视图层次结构。删除对setContentView的第二次调用。