2014-10-25 2 views
0

Итак, в моем приложении у меня есть это изображение 4x4. У меня нет опыта программирования в андроидах, так как это мое первое приложение. Как и на картинке, я формирую слово «BIT» (отображается в texview). Мой вопрос: как я могу нажимать эти кнопки изображения, чтобы сформировать слова БЕЗ подъема пальца? Любые предложения будут высоко оценены. Мне бы очень понравилось, если бы вы также помогли мне с кодами.Непрерывно Нажмите на кнопку изображения без поднятия пальца в android

enter image description here

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)); 
 
     } 
 
     
 
    }

Может кто-нибудь помочь мне с моей проблемой?

ответ

0

вы хотите щелкнуть изображение без поднятия пальца? пользователь делает это, так что скажите им, чтобы это сделать .. (громко вслух) .. на самом деле им шутить.

Все, что вам нужно сделать, это вызвать объект imagebutton и вызвать цикл для количества букв, которые вы собираетесь вводить, чтобы сформировать слово и позвонить .. performClick() -() на предпочтительном образцовом изображении .. получить его сейчас? ?

поэтому пример .. я хочу, чтобы заклинание Lab Ley .. мне нужно будет нажать на 7 дифф imagebuttons так

for(int i = 0; i<7; ++i){ // i++ any way goes 
    ImageButton.performClick(); // imagebutton is the respective lettered imagebutton you want 
} 
+0

Где в моей Java части Шоул я поставил этот? и могу ли я изменить его на что-то вроде i = 16? потому что у меня есть 16 кнопок с изображениями @Elltz –

+0

Нет. Не путайте себя, я отвечаю на ваши вопросы, исходя из ваших вопросов конкретно. У вас есть целая проблема для решения - это ваше приложение, но я решаю одну его часть для вы, это ответ на ваш вопрос конкретно, и я не читал ваши коды, я ответил на вопрос, потому что вы не указали, было ли то, что вы хотели записать, было известно или неизвестно. Поймите меня сейчас? но, пройдя все ваши вопросы, я вижу, что вы хотите сделать, поэтому я бы сказал gridview, а затем реализовать onhoverlistener для элементов ... это, если ваше приложение поддерживает api 14 + @ LabLey – Elltz

+0

, так что этот ответ, если вы хотите записать Лаборатория Лей программно - от вашего вопроса. получить меня сейчас @ LabLey – Elltz

Смежные вопросы