试图让按钮文字实现onClickListener
问题描述:
当我在Android的相当新的,所以我希望我不要声音太noobie,话虽这么说,我做的,特别是实现了一个OnclickListener对于那些在我的XML按钮的片段。我需要的缺省的onclick功能,能够保存被按压来串按钮的文本,但我一直无法弄清楚如何从视图按钮的文本。这将帮助我为每一个按钮做一个if语句。有什么建议么?试图让按钮文字实现onClickListener
import android.support.annotation.Nullable;
import android.support.v7.app.AlertDialog;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.support.v4.app.Fragment;
public class Section1Fragment extends Fragment implements View.OnClickListener {
private static final String TAG = "Section1Fragment";
Button btnItem1;
Button btnItem2;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable final ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.section1,container,false);
btnItem1 = (Button) view.findViewById(R.id.btnItem1);
btnItem1.setOnClickListener(this);
btnItem2 = (Button) view.findViewById(R.id.btnItem2);
btnItem2.setOnClickListener(this);
return view;
}
@Override
public void onClick(View view) {
if (view == btnItem1) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage("button 1")
.setNegativeButton("Retry", null)
.create()
.show();
}
else if (view == btnItem2) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage("button 2")
.setNegativeButton("Retry", null)
.create()
.show();
}
}
}
答
view.getText()。的toString()是你需要调用得到一个视图的文本价值的东西。这里是示例代码。
@Override
public void onClick(View view) {
if (view == btnItem1) {
Toast.makeText(getActivity(), btnItem1.getText().toString(), Toast.LENGTH_SHORT).show();
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage("button 1")
.setNegativeButton("Retry", null)
.create()
.show();
}
else if (view == btnItem2) {
Toast.makeText(getActivity(), btnItem1.getText().toString(), Toast.LENGTH_SHORT).show();
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage("button 2")
.setNegativeButton("Retry", null)
.create()
.show();
}
}
答
首先,你要正确地声明按钮,所以进入xml文件,并确保按钮有一个ID。您可以通过该按钮执行以下操作添加ID:android:id="@+id/button"
然后在Java代码文件,你要声明它是这样的:
final Button button = (Button) findViewById(R.id.button)
这应该工作,这样的话你想使听者,这是可以做到这样:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View _v) {
//what you want button to do
}
});
https://stackoverflow.com/questions/20263673/get-text-of-view-button –
的[获取的视图文本(按钮)](可能的复制https://stackoverflow.com/questions/20263673/get -text的视图按钮) – pooyan