无法看到手机上的所有按钮

时间:2017-10-03 11:59:51

标签: java android layout

**我正在制作一些应用程序并且无法看到我创建的按钮(这是在我的手机上运行应用程序时),但如果我在模拟器上运行它我可以看到所有内容 - 我可以按下的按钮&# 39;在我的手机上看到的是点击的按钮(其ID为" startBtn")。 **

Here is my layout : 
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:background="#798"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="unleashed.myprefs.MainActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="90dp"
        android:text="hello"
        android:background="#ff14"
         />

    <Button
        android:id="@+id/startBtn"
        android:text="start"
        android:layout_below="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="addOne"
        />

    <Button
        android:id="@+id/resetBtn"
        android:text="restart"
        android:layout_below="@+id/textView"
        android:layout_alignParentRight="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="restart"
   />
</RelativeLayout>

这是我的主要活动

package unleashed.myprefs;

import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    Button restartNums;
    SharedPreferences prefs;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        prefs = getSharedPreferences("main", MODE_PRIVATE);
    }
        private int getNum(){
        return prefs.getInt("num",1);
    }

    private void setNum(int num){   // put the number into my shared preference
        prefs.edit().putInt("num", num).apply();
    }

    public void addOne(View v) {    //adding number to the starting button
        int num = getNum();
        ((Button)v).setText("Clicked " + num);
        setNum(num + 1);
    }




    public void restart(View v){
        restartNums = (Button) findViewById(R.id.startBtn);
        prefs.edit().remove("num").apply();
        restartNums.callOnClick(); 
    }
    }

我将不胜感激。

1 个答案:

答案 0 :(得分:1)

  1. AlignParentEnd应该在ResetButton中使用。(不确定)

  2. (替代方案)如果您尝试在同一行中有两个按钮,则可以尝试此布局。 `

    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="90dp"
        android:text="hello"
        android:background="#ff14"
         />
     <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation = "horizontal"
        android:weightsum="2"
        android:layout_below="@+id/textView">
    
    <Button
        android:id="@+id/startBtn"
        android:text="start"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:onClick="addOne"
        />
    
    <Button
        android:id="@+id/resetBtn"
        android:text="restart"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:onClick="restart"/>
    

    `