1

Ich habe Probleme mit diesem Code und jedes Mal, wenn ich es laufe es stürzt ab, so ging ich zurück zu seinem normalen Zustand, wo ich den benutzerdefinierten Adapter abgeschlossen und es mit der Listview verbunden und das Programm lief sehr schön, dann habe ich versucht, eine Absicht hinzuzufügen, um eine andere Aktivität zu öffnen, wenn Sie auf ein Element in der Liste klicken, fügte ich auch ein Extra hinzu, um eine Daten von der Hauptaktivität zu senden, um eine Liste des in den Stichen gespeicherten Textes zu sehen, bevor ich alles beendete und es lief reibungslos, dann habe ich versucht, eine benutzerdefinierte Ansicht hinzuzufügen. Hier ist mein Code.Android Studio benutzerdefinierte Adapter OnClickListener

MAinactivity.java

public class MainActivity extends AppCompatActivity { 
    private List <Word> words =new ArrayList<Word>(); 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 

     setContentView(R.layout.activity_main); 
     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 
     ListView listview ; 
     populatewordList(); 
     populateListView(); 
     FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
     fab.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) 
         .setAction("Action", null).show(); 
      } 
     }); 
    } 
    private void populateListView() { 
     ArrayAdapter <Word> adapter = new MyListAdapter(); 
     ListView listView = (ListView) findViewById(R.id.listView); 
     listView.setAdapter(adapter); 

    } 

    private void populatewordList() { 
     words.add(new Word ("Xadiiska 1aad","Camalku waa Niyadda")); 
     words.add(new Word ("Xadiiska 2aad","Tiirarka lslaamka")); 
     words.add(new Word ("Xadiiska 3aad","Dhidibada lslaamka")); 
     words.add(new Word ("Xadiiska 4aad","Abuurista Aadamiga")); 
     words.add(new Word ("Xadiiska 5aad","Bidcada")); 
     words.add(new Word ("Xadiiska 6aad","Kadheeraanshaha Shubhada")); 
     words.add(new Word ("Xadiiska 7aad","Xurmada Muslimka")); 
     words.add(new Word ("Xadiiska 8aad","Qofa laguma waajibiyo wax ka badan awooddiisa")); 
     words.add(new Word ("Xadiiska 9aad","Wax la wada faray Nebiyada iyo Muslimiinta")); 
     words.add(new Word ("Xadiiska 10aad","Dhawrsoonaanta")); 
     words.add(new Word ("Xadiiska 11aad","Ha fara gelinin wax aadan shaqo ku lahayn")); 
     words.add(new Word ("Xadiiska 12aad","Kalgacaylka")); 
     words.add(new Word ("Xadiiska 13aad","Wax yaalaha dhiigga Muslimka Banneeya")); 
     words.add(new Word ("Xadiiska 14aad","Anshaxa wanaagsan")); 
     words.add(new Word ("Xadiiska 15aad","Carada")); 
     words.add(new Word ("Xadiiska 16aad","Naxariista")); 
     words.add(new Word ("Xadiiska 17aad","La Dhaqanka dadka")); 
     words.add(new Word ("Xadiiska 18aad","Gargaarka Alla")); 
     words.add(new Word ("Xadiiska 19aad","Xishoodka")); 
     words.add(new Word ("Xadiiska 20aad","Qumanaanta")); 
     words.add(new Word ("Xadiiska 21aad","Wax Jannada lagu galo")); 
     words.add(new Word ("Xadiiska 22aad","Falka Khayrka")); 
     words.add(new Word ("Xadiiska 23aad","Reebidda dulmiga")); 
     words.add(new Word ("Xadiiska 24aad","Wardigu waa sadaqo")); 
     words.add(new Word ("Xadiiska 25aad","Xilka saaran xubnaha bulshada")); 
     words.add(new Word ("Xadiiska 26aad","Shakiga sidaad uga bixi lahayd")); 
     words.add(new Word ("Xadiiska 27aad","Dardaaran")); 
     words.add(new Word ("Xadiiska 28aad","Jidka Jannada loo maro")); 
     words.add(new Word ("Xadiiska 29aad","Xuduudda Ilaahay")); 
     words.add(new Word ("Xadiiska 30aad","Wax llaahay iyo dadkuba kugu jeclaadaan")); 
     words.add(new Word ("Xadiiska 31aad","Ma bannaana adiyaddu")); 
     words.add(new Word ("Xadiiska 32aad","Asaaska doodaha")); 
     words.add(new Word ("Xadiiska 33aad","Reebidda Munkarka")); 
     words.add(new Word ("Xadiiska 34aad","ls-xaq dhawridda Xubnaha bulshada")); 
     words.add(new Word ("Xadiiska 35aad","Badbaadinta Bulshada")); 
     words.add(new Word ("Xadiiska 36aad","Deeqsimada llaahay")); 
     words.add(new Word ("Xadiiska 37aad","Qofka colaadiya Awliyada llaahay")); 
     words.add(new Word ("Xadiiska 38aad","Xaaladaha qofka aan loo qabanayn dambiga uu falo")); 
     words.add(new Word ("Xadiiska 39aad","Inaan la isku hilmaamin dunida")); 
     words.add(new Word ("Xadiiska 40aad","Hawo raaca")); 
     words.add(new Word ("Xadiiska 41aad","Khatarta shirkiga")); 

    } 
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.menu_main, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     int id = item.getItemId(); 

     //noinspection SimplifiableIfStatement 
     if (id == R.id.action_settings) { 
      return true; 
     } 

     return super.onOptionsItemSelected(item); 
    } 

    private class MyListAdapter extends ArrayAdapter <Word> { 
     public MyListAdapter(){ 
      super(MainActivity.this,R.layout.list_view,words); 
     } 

     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      View itemview =convertView; 
      if (itemview==null){ 
       itemview = getLayoutInflater().inflate(R.layout.list_view,parent,false); 
      } 
      Word currentWord = words.get(position); 


      TextView x_name =(TextView) itemview.findViewById(R.id.x_name); 
      x_name.setText(currentWord.getmXname()); 


      TextView x_dis =(TextView) itemview.findViewById(R.id.x_dis); 
      x_dis.setText(currentWord.getmXdis()); 
      return itemview; 

     } 
    } 
} 

Word.java

public class Word { 

    private String mXname; 
    private String mXdis; 

    public Word(String Xname, String Xdis) { 
     mXname = Xname; 
     mXdis = Xdis; 
    } 

    public String getmXname() { 
     return mXname; 
    } 

    public String getmXdis() { 
     return mXdis; 
    } 
} 

ViewActivity

public class ViewActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_view); 
     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 
     TextView textView = (TextView) findViewById(R.id.textView); 
     Intent i = getIntent(); 
     int Topic_content = i.getIntExtra("Name: ", 0); 
     textView.setText(Topic_content); 
    } 

} 
+0

Ich sehe nicht passieren, wo Sie den Zusatz im Bündel setzen ... sind Sie sicher, dass Sie die richtige Version eingefügt des Codes? –

Antwort

0

Veränderung in Ihrem MainActivity - populateListView ArrayAdapter zu Ihrem Adapter (MyListAdapter), um die richtige Besetzung zu tun.

Überprüfen Sie, dass findViewById

In Ihrem ViewActivity nicht null sind, ist am besten, wenn Sie keine Leerzeichen in getIntExtra wie: "name"

int Topic_content = i.getIntExtra("Name: ", 0); 

Veränderung dieser:

textView.setText(Topic_content); 

zu

textView.setText(String.valueOf(Topic_content)); 

im Adapter gibt es kein Click-Ereignis int Aktivität

protected void goToView(int a) { 
     Intent i = new Intent(getActivity(), InteractionsActivity.class); 
     i.putExtra("name", a); 
     startActivity(i); 
    } 
+0

Vielen Dank für die Änderungen, aber ich habe den Teil nicht verstanden, wo soll ich das Click Event hinzufügen? –

+0

in der Liste müssen Sie das Ereignis hinzufügen klicken, um nächste Aktivität zu gehen listView.setOnItemClickListener (neu OnItemClickListener() { @Override public void onItemClick (AdapterView arg0, Blick arg1, int Position, lange arg3) { goToView (Position); } }); – Jason

+0

Danke Ihnen alles hat geklappt –

Verwandte Themen