Не могу получить кнопку на работу - PullRequest
0 голосов
/ 06 января 2012

У меня возникла проблема, когда моя кнопка не позволяла мне открыть указанный URL. Просто сила закрывается всякий раз, когда я открываю это действие. Вот мой код;

public class TemakiActivity extends Activity {

Button button;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.contentviewer);

    ImageView imageView = (ImageView) findViewById(R.id.videolink);
    imageView.setImageResource(R.drawable.videothumb);

    addListenerOnButton();

}

public void addListenerOnButton() {

    button = (Button) findViewById(R.id.videolink);
    button.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
          Intent browserIntent = 
                        new Intent(Intent.ACTION_VIEW, Uri.parse("http://google.com"));
            startActivity(browserIntent);

        }

    });

    TextView helloTxt = (TextView)findViewById(R.id.ingredientslister);
    helloTxt.setText(readTxt());
}

private String readTxt(){

 InputStream inputStream = getResources().openRawResource(R.raw.temakiingredients);
 ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

 int i;
try {
i = inputStream.read();
while (i != -1)
  {
   byteArrayOutputStream.write(i);
   i = inputStream.read();
  }
  inputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

 return byteArrayOutputStream.toString();
}
}

Когда я открываю это действие, оно просто принудительно закрывается! Проблема, кажется, с кнопкой, я не могу заставить его работать, какие-либо решения?

Ответы [ 4 ]

2 голосов
/ 06 января 2012

у вас есть одинаковый идентификатор для ImageView, и для кнопки. У вас должны быть другие идентификаторы, или вы набрали по ошибке. Компилятор выдает ошибку из-за конфликта идентификаторов. у вас есть ImageView findViewById (R.id.videolink) Кнопка findViewById (R.id.videolink);

1 голос
/ 06 января 2012

Видите, вы используете

button = (Button) findViewById(R.id.videolink);

Проверьте идентификатор кнопки, потому что вы используете тот же идентификатор с Button и ImageView проверьте, какой элемент управления имеет videolink идентификатор?

0 голосов
/ 06 января 2012
 button.setOnClickListener(new Button.OnClickListener() 

Я думаю, вам нужно использовать Button.OnClickListener(); p

0 голосов
/ 06 января 2012

Похоже, что-то не так с вашим импортом.

Попробуйте что-то вроде этого:

button.setOnClickListener(new View.OnClickListener() {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...