Android Studio如何在按下按钮时获取随机文本

时间:2018-04-05 20:05:03

标签: java android xml android-studio project

你能帮助我创建一个用户必须按下按钮的项目,然后它会给出一些随机的名字作为祝酒词。我已将其保存为字符串文件中的字符串

这是按钮的活动主要XML代码

    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:text="Get Name" />

这是字符串

的string.xml代码

<string name="app_name">test</string>
<string name="name1">Jhon</string>
<string name="name2">Chris</string>
<string name="name3">David</string>

但是,我需要Java文件的帮助,请帮助创建这个项目 这是一个非常简单的项目。只是用户必须按一个按钮,它应该从我的字符串中随机提供一个名字。

2 个答案:

答案 0 :(得分:1)

创建一个StringArray并调用随机索引

String name[] = {"abc","def","ghj","abc","def","ghj"}

按下按钮

{
Random random = new Random();
// you have also handle min to max index 
int index = r.nextInt(name.length - 0) + 0;
tv.setText(name[index]);
}

答案 1 :(得分:0)

首先使用 string.xml

中的字符串数组
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class SimpleActivity extends Activity {
/** Called when the activity is first created. */
@Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    final TextView textView=(TextView)findViewById(R.id.textView1);
    final Button button1 =  (Button)findViewById(R.id.mybutton);

    //Implement listener for your button so that when you click the 
    //button, android will listen to it.             

     button1.setOnClickListener(new View.OnClickListener() {             
        public void onClick(View v) {                 
        // Perform action on click 
            String[] names = getResources().getStringArray(R.array.name);
            Random rand = new Random();
            int  n = rand.nextInt(names.length()-1);
            textView.setText(names[n]);

        }         });
    }
}

然后是Java代码

    with open(plistPath, 'r+b') as fp:
       plistRoot = plistlib.load(fp)
       plistRoot["CFBundleIdentifier"] = newBundleId
       plistlib.dump(plistRoot, fp)