安卓工作室图像按钮单击时更改src

时间:2016-03-10 14:29:33

标签: java android vb.net

我试图制作一个Android应用并需要一些帮助,我想制作一个有src1的imagebutton1已经改变了它的src1和一个textbox1文本" a"当点击src2并且textbox1文本变为" b"如果再次点击则更改为src1并将文本更改为" a"等等...  我以前在vb.net中通过

执行此操作
 Private Sub units_Click(sender As Object, e As EventArgs) Handles units.Click

    counter = counter + 1
    If (-1) ^ counter < 0 Then
        units.Image = WindowsApplication1.My.Resources.Resources.lup
        Label3.Text = "a"

    Else
        units.Image = WindowsApplication1.My.Resources.Resources.ldown
        Label3.Text = "b"

    End If
End Sub

请帮助并提及每行的内容,因为我是java的新手

3 个答案:

答案 0 :(得分:1)

我认为你需要看一本Java书,其中有很多,例如Thinking in Java。阅读Android documentation,那里有很多信息 这个问题在你读完之后非常基本。

textView.setOnClickListener(new View.OnClickListener() {
                public int counter;

                @Override
                public void onClick(View v) {
                    counter += 1;
                    if (counter % 2 == 0) {
                        imageView.setImageResource(R.drawable.ic_one);
                        textView.setText("Text 1");
                    } else {
                        imageView.setImageResource(R.drawable.ic_two);
                        textView.setText("Text 2");
                    }
                }
            });

答案 1 :(得分:0)

如果我理解正确,您想要按下按钮更改图像和文字? 你应该做的是在你的Activity中建立一个监听器: 要将图像从URL加载到ImageView,请访问以下主题:

https://stackoverflow.com/a/18953695/5223744


使用上面的类,您的代码应如下所示:

    imgCBButton = (ImageButton) findViewById(R.id.imgBTN);
    txtCBText = (TextView) findViewById(R.id.txt);

    txtCBText.setText("a");
    final String firstURL = "www.yourFirstURL"; // Setting the firs URL
    final String secondURL = "www.yourSecondURL"; // Setting the second URL
    new ImageLoadTask(firstURL, imgCBButton).execute(); // Making a new ImageLoadTask class and passing the default values


          imgCBButton.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) { // Setting Listener on the imgButton
                if(indicator == false){  
                    txtCBText.setText("b"); // If the boolean == false change the text to "b"
                    new ImageLoadTask(secondURL, imgCBButton).execute(); // change the IMG URL
                    indicator = true; // Changing the boolean to true

                }else {
                    txtCBText.setText("a");
                    new ImageLoadTask(firstURL, imgCBButton).execute();
                    indicator = false;
                }

              }
          });

}

别忘了在Manifest中设置权限:

<uses-permission android:name="android.permission.INTERNET" />

答案 2 :(得分:-1)

如果您在活动中工作,则此代码应该有效:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.your_view);
    yourButton = (ImageButton) findViewById(R.id.your_button);
    yourTextView = (TextView) findViewById(R.id.your_textview);
    yourButton.setTag(R.drawable.src1);
    yourButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (yourButton.getTag() == R.drawable.src1) {
                yourButton.setImageResource(R.drawable.src2);
                yourTextView.setText("b");
                yourButton.setTag(R.drawable.src2);
            } else {
                yourButton.setImageResource(R.drawable.src1);
                yourTextView.setText("a");
                yourButton.setTag(R.drawable.src1);
            }
        }
    });
}