2017-02-25 6 views
0

MainActivity.class 問題は、リストビューから任意の項目を検索してそれをクリックするときです私が検索したときに、プログラムに追加されていない最初のポジション項目を開きます。あなたはそれが配列アダプタから一致する項目をフィルタ表示、検索にテキストを入力し、あなたの場合はリストビューの項目を検索して欲しい項目をクリックすると、リストビューの最初の位置が常に開かれます

package com.example.rushikesh.first; 
import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.text.TextUtils; 
import android.view.View; 
import android.view.Window; 
import android.widget.AdapterView; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 
import android.widget.SearchView; 
import com.example.rushikesh.first.R; 
import com.google.android.gms.ads.AdListener; 
import com.google.android.gms.ads.AdRequest; 
import com.google.android.gms.ads.AdView; 
import com.google.android.gms.ads.InterstitialAd; 

public class Basic_programs extends Activity implements SearchView.OnQueryTextListener 
{ 

private SearchView mSearchView; 
private ListView mListView; 
private AdView mAdView; 
private final String[] mStrings = Cheeses.sCheeseStrings; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    getWindow().requestFeature(Window.FEATURE_ACTION_BAR); 
    setContentView(R.layout.basic_prog_list); 
    mSearchView = (SearchView) findViewById(R.id.search_view); 
    mListView = (ListView) findViewById(R.id.list_view); 
    mListView.setAdapter(new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_1, 
      mStrings)); 
    mListView.setTextFilterEnabled(true); 
    setupSearchView(); 

    mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) { 

      String itemValue = (String) mListView.getItemAtPosition(position); 
      if(position == 0) { 
       Intent i = new Intent("android.intent.action.FIRST_PROG"); 
       startActivity(i); 
      } 
      if(position == 1) { 
       Intent i = new Intent("android.intent.action.SECOND_PROG"); 
       startActivity(i); 
      } 
      if(position == 2) { 
       Intent i = new Intent("android.intent.action.THIRD_PROG"); 
       startActivity(i); 
      } 
      if(position == 3) { 
       Intent i = new Intent("android.intent.action.FOURTH_PROG"); 
       startActivity(i); 
      } 
      if(position == 4) { 
       Intent i = new Intent("android.intent.action.FIFTH_PROG"); 
       startActivity(i); 
      } 
      if(position == 5) { 
       Intent i = new Intent("android.intent.action.SIXTH_PROG"); 
       startActivity(i); 
      } 
      if(position == 6) { 
       Intent i = new Intent("android.intent.action.SEVENTH_PROG"); 
       startActivity(i); 
      } 
      if(position == 7) { 
       Intent i = new Intent("android.intent.action.EIGHT_PROG"); 
       startActivity(i); 
      } 
      if(position == 8) { 
       Intent i = new Intent("android.intent.action.NINTH_PROG"); 
       startActivity(i); 
      } 
      if(position == 9) { 
       Intent i = new Intent("android.intent.action.TENTH_PROG"); 
       startActivity(i); 
      } 
      if(position == 10) { 
       Intent i = new Intent("android.intent.action.ELEVEN_PROG"); 
       startActivity(i); 
      } 
      if(position == 11) { 
       Intent i = new Intent("android.intent.action.TWELVE_PROG"); 
       startActivity(i); 
      } 
      if(position == 12) { 
       Intent i = new Intent("android.intent.action.THIRTEEN_PROG"); 
       startActivity(i); 
      } 
      if(position == 13) { 
       Intent i = new Intent("android.intent.action.FOURTEEN_PROG"); 
       startActivity(i); 
      } 
      if(position == 14) { 
       Intent i = new Intent("android.intent.action.FIFTEEN_PROG"); 
       startActivity(i); 
      } 
      if(position == 15) { 
       Intent i = new Intent("android.intent.action.SIXTEEN_PROG"); 
       startActivity(i); 
      } 
      if(position == 16) { 
       Intent i = new Intent("android.intent.action.SEVENTEEN_PROG"); 
       startActivity(i); 
      } 
      if(position == 17) { 
       Intent i = new Intent("android.intent.action.EIGHTEEN_PROG"); 
       startActivity(i); 
      } 
      if(position == 18) { 
       Intent i = new Intent("android.intent.action.NINETEEN_PROG"); 
       startActivity(i); 
      } 
      if(position == 19) { 
       Intent i = new Intent("android.intent.action.TWENTY_PROG"); 
       startActivity(i); 
      } 
      if(position == 20) { 
       Intent i = new Intent("android.intent.action.TWENTYONE_PROG"); 
       startActivity(i); 
      } 
      if(position == 21) { 
       Intent i = new Intent("android.intent.action.TWENTYTWO_PROG"); 
       startActivity(i); 
      } 
      if(position == 22) { 
       Intent i = new Intent("android.intent.action.TWENTYTHREE_PROG"); 
       startActivity(i); 
      } 
      if(position == 23) { 
       Intent i = new Intent("android.intent.action.TWENTYFOUR_PROG"); 
       startActivity(i); 
      } 
      if(position == 24) { 
       Intent i = new Intent("android.intent.action.TWENTYFIVE_PROG"); 
       startActivity(i); 
      } 
      if(position == 25) { 
       Intent i = new Intent("android.intent.action.TWENTYSIX_PROG"); 
       startActivity(i); 
      } 
      if(position == 26) { 
       Intent i = new Intent("android.intent.action.TWENTYSEVEN_PROG"); 
       startActivity(i); 
      } 
      if(position == 27) { 
       Intent i = new Intent("android.intent.action.TWENTYEIGHT_PROG"); 
       startActivity(i); 
      } 
      if(position == 28) { 
       Intent i = new Intent("android.intent.action.TWENTYNINE_PROG"); 
       startActivity(i); 
      } 
      if(position == 29) { 
       Intent i = new Intent("android.intent.action.THIRTY_PROG"); 
       startActivity(i); 
      } 
      if(position == 30) { 
       Intent i = new Intent("android.intent.action.THIRTYONE_PROG"); 
       startActivity(i); 
      } 
      if(position == 31) { 
       Intent i = new Intent("android.intent.action.THIRTY_TWO"); 
       startActivity(i); 
      } 
      if(position == 32) { 
       Intent i = new Intent("android.intent.action.THIRTY_THREE"); 
       startActivity(i); 
      } 
      if(position == 33) { 
       Intent i = new Intent("android.intent.action.THIRTY_FOUR"); 
       startActivity(i); 
      } 
     } 
    }); 

} 


private void setupSearchView() { 
    mSearchView.setIconifiedByDefault(false); 
    mSearchView.setOnQueryTextListener(this); 
    mSearchView.setSubmitButtonEnabled(true); 
    mSearchView.setQueryHint("e.g. Factorial number"); 
} 

public boolean onQueryTextChange(String newText) { 
    if (TextUtils.isEmpty(newText)) { 
     mListView.clearTextFilter(); 
    } else { 
     mListView.setFilterText(newText.toString()); 
    } 
    return true; 
} 

public boolean onQueryTextSubmit(String query) { 
    return false; 
} 
} 

Cheeses.class活動

package com.example.rushikesh.first; 

public class Cheeses { 

public static final String[] sCheeseStrings = { 
     "Hello World!", "Addition of two numbers", "Add two numbers in range of integers(4 bytes)", "Factorial number taking user input", "calculating factorial of large numbers", 
     "Odd or Even number", "Odd or Even number (Second method)", "Reverse number", "Get input from user in Java", 
     "If else program in Java", "Nested If Else program", 
     "Print multiplication table", "For loop program in Java", "For loop program to print Stars Pattern", 
     "For loop program to print an Alphabets", 
     "While loop program to print an Alphabet", "Do-while program to print an Alphabet", "Convert Fahrenheit to Celsius", 
     "Swap two numbers using third variable", "Swap two numbers without using third variable", 
     "Reverse a string", "Reverse a string using String Buffer class", "Java program to get Ip address", 
     "Print prime numbers", "Check palindrome number", 
     "Factorial number", "Factorial number using Recursion", "Fibonacci Series in Java without using recursion", 
     "Fibonacci Series in Java using recursion", "Search a word inside a string", "Convert integer into hex", 
     "Java For loop Thread Sleep method Example", "Thread example by Extending Thread Class", 
     "Thread example by Implementing Runnable Interface" 

}; 



} 
+0

クリックしたリスト項目の位置(int)を文字列変数に保存するのはなぜですか? –

答えて

0

したがって、配列のすべての項目は、配列アダプタを設定するときに同じではない位置を再定義します。ここで

、あなたはコードの行の下に見つけることができるためsCheeseStrings

から選択した結果の位置を見つける必要があります。疑問があればお尋ねください。

 String itemValue = (String) mListView.getItemAtPosition(position); 

     int itemPosition = 0; 
      for (int i = 0; i < mStrings.length; i++) { 
       if (itemValue.equalsIgnoreCase(mStrings[i])) { 
        itemPosition = i; 
       } 
      } 

      if (itemPosition == 0) { 
       String content = "android.intent.action.FIRST_PROG"; 
       Intent i = new Intent(content); 
       startActivity(i); 
      } 
      if (itemPosition == 1) { 
       Intent i = new Intent("android.intent.action.SECOND_PROG"); 
       startActivity(i); 
      } 
      if (itemPosition == 2) { 
       Intent i = new Intent("android.intent.action.THIRD_PROG"); 
       startActivity(i); 
      } 
関連する問題