Итак, в моем приложении у меня есть это изображение 4x4. У меня нет опыта программирования в андроидах, так как это мое первое приложение. Как и на картинке, я формирую слово «BIT» (отображается в texview). Мой вопрос: как я могу нажимать эти кнопки изображения, чтобы сформировать слова БЕЗ подъема пальца? Любые предложения будут высоко оценены. Мне бы очень понравилось, если бы вы также помогли мне с кодами.Непрерывно Нажмите на кнопку изображения без поднятия пальца в android
Heres код я использую:
MainActivity.java
import java.util.ArrayList;
import java.util.concurrent.TimeUnit;
import android.support.v7.app.ActionBarActivity;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity {
\t DBAdapter dbHelper;
\t EditText words, scores, search;
\t ImageView show_addWord;
\t TextView score, tv2, tv3;
\t int x = 0;
\t int y = 0;
\t int z = 0;
\t protected static final String TAG = null;
\t String generatedString = " ";
\t AutoCompleteTextView text;
\t TextView timer;
\t ImageView searchWord;
\t ImageView bomb, searchword, lineone;
\t ImageButton image1, image2, image3, image4, image5, image6, image7, image8,
\t image9, image10, image11, image12, image13, image14, image15, image16;
\t ListView wordList;
\t private CountDownTimer countDownTimer;
\t private boolean timeHasStarted = false;
\t
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dbHelper =new DBAdapter(this);
search = (EditText) findViewById(R.id.textHere);
words = (EditText) findViewById(R.id.edWord);
scores = (EditText) findViewById(R.id.edScore);
show_addWord = (ImageView) findViewById(R.id.show_addWord);
bomb = (ImageView) findViewById(R.id.bomb);
searchWord = (ImageView) findViewById(R.id.searchWord);
wordList = (ListView) findViewById(R.id.wordList);
image1 = (ImageButton) findViewById(R.id.Button1); ...
\t \t image16 = (ImageButton) findViewById(R.id.Button16);
\t \t timer = (TextView) this.findViewById(R.id.timer);
\t \t timer.setText("00:00:30");
\t \t countDownTimer = new MyCountDownTimer(30000,1000);
\t \t
\t \t final AutoCompleteTextView text = (AutoCompleteTextView) findViewById(R.id.textHere);
\t \t
\t \t final ImageButton image1 = (ImageButton) findViewById(R.id.Button1); ..
\t \t final ImageButton image16 = (ImageButton) findViewById(R.id.Button16); \t \t
\t \t
\t \t
\t \t final int[] myPics = { R.drawable.a, R.drawable.b, R.drawable.c, ... };
\t \t
\t \t //randomize image
\t \t bomb.setOnClickListener(new View.OnClickListener() {
\t \t \t
\t \t \t @Override
\t \t \t public void onClick(View v) {
//new set of tile
\t \t \t }
\t \t });
\t \t
\t \t
\t \t
\t \t // start countdowntimer, display text in textview according to image
\t \t OnClickListener myCommoClickListner = new OnClickListener(){
\t \t \t @Override
\t \t \t public void onClick(View arg0) {
Log.i(TAG,"arg0.getId() = " + arg0.getId());
if(arg0.getId()==R.drawable.a){
Log.i(TAG,"arg0.getId()="+arg0.getId());
generatedString=generatedString+"a"; //[PLACEE RESPACTIVE CHARACTEER HERE]
text.setText(generatedString);
\t \t \t
\t \t \t \t if (!timeHasStarted) {
\t \t \t \t \t countDownTimer.start();
\t \t \t \t \t timeHasStarted = true;
\t \t \t \t \t }
\t \t \t }
\t \t \t
\t \t };
\t \t
\t \t
\t \t image1.setOnClickListener(myCommoClickListner);
}
public class MyCountDownTimer extends CountDownTimer{
\t \t public MyCountDownTimer(long millisInFuture, long countDownInterval){
\t \t \t super(millisInFuture, countDownInterval);
\t \t }
@Override
\t \t public void onTick(long millisUntilFinished) {
\t \t \t // TODO Auto-generated method stub
\t \t \t long millis = millisUntilFinished;
String hms = String.format("%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis),
TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),
TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
System.out.println(hms);
timer.setText(hms);
\t \t \t
\t \t }
\t \t @Override
\t \t public void onFinish() {
\t \t \t timer.setText("Time's Up!");
\t \t }
\t }
// searching word, displaying score on score textview and populating listview via textview data
private int optionTxtView = 0 ;
public void viewWord(View view)
{
\t score = (TextView)findViewById(R.id.yourScore);
\t tv2 = (TextView)findViewById(R.id.tv2);
tv3 = (TextView)findViewById(R.id.tv3);
searchWord = (ImageView) findViewById(R.id.searchWord);
wordList = (ListView) findViewById(R.id.wordList);
text = (AutoCompleteTextView) findViewById(R.id.textHere);
wordList = (ListView) findViewById(R.id.wordList);
\t
\t String s1= search.getText().toString();
String s2= dbHelper.getData(s1);
score.setText(s2);
\t tv2.setText(s2);
\t tv3.setText(s2);
\t
/* // Display score on first click in txtview, second click in txtview 2 ...
// NOT WORKING !!!!!!!!
if(optionTxtView == 0){
//display the score on textview1
tv2.setText(s2);
optionTxtView = 1;
}else{
//display the score on textview2
tv3.setText(s2);
optionTxtView = 0;
}
*/ \t
\t
\t
\t
\t
\t
\t ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, new ArrayList<String>());
\t wordList.setAdapter(adapter); \t
\t adapter.add(text.getText().toString());
\t adapter.notifyDataSetChanged();
text.setText("");
}
\t
//adding 2 textview
public void add(){
\t x = Integer.parseInt(tv2.getText().toString());
y = Integer.parseInt(tv3.getText().toString());
z = x + y;
score.setText(Double.toString(z));
}
}
Может кто-нибудь помочь мне с моей проблемой?
Где в моей Java части Шоул я поставил этот? и могу ли я изменить его на что-то вроде i = 16? потому что у меня есть 16 кнопок с изображениями @Elltz –
Нет. Не путайте себя, я отвечаю на ваши вопросы, исходя из ваших вопросов конкретно. У вас есть целая проблема для решения - это ваше приложение, но я решаю одну его часть для вы, это ответ на ваш вопрос конкретно, и я не читал ваши коды, я ответил на вопрос, потому что вы не указали, было ли то, что вы хотели записать, было известно или неизвестно. Поймите меня сейчас? но, пройдя все ваши вопросы, я вижу, что вы хотите сделать, поэтому я бы сказал gridview, а затем реализовать onhoverlistener для элементов ... это, если ваше приложение поддерживает api 14 + @ LabLey – Elltz
, так что этот ответ, если вы хотите записать Лаборатория Лей программно - от вашего вопроса. получить меня сейчас @ LabLey – Elltz