1

私はこのコードに苦労しています。それを実行するたびにクラッシュするので、私はカスタムアダプタを終了し、それをリストビューに接続した正常な状態に戻り、プログラムは非常にうまく動いていました。 その後、リスト内のアイテムをクリックすると別のアクティビティを開くインテントを追加しようとしました。メインアクティビティのデータを送信するために余分なものを追加しました。 それはスムーズに行って、私はカスタムビューを追加しようとしました。ここに私のコードです。あなたが持っているこのケースでアンドロイドスタジオのカスタムアダプタ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

に渡す任意のクリックイベントがありません...あなたが正しいバージョンを貼り付けたあなたは確かですコードの? –

答えて

0

変更。

あなたのようなgetIntExtraにスペースを持っていない場合findViewByIdあなたViewActivity

nullではないことをダブルチェックは、最高です: "名前"

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

変更この:

textView.setText(Topic_content); 

~

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

アダプタにバンドルで余分を入れているところ、私が表示されないint型の活動

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

変更に感謝しますが、私はクリックイベントを追加する部分を理解していませんでしたか?あなたは、イベントを追加する必要があり、リスト内の –

+0

は listView.setOnItemClickListener(新OnItemClickListener(){ @Override ます。public void onItemClick(AdapterView arg0は、表示ARG1、int型の位置、 長いARG3)次のアクティビティに移動します{ goToView(position); } }); – Jason

+0

ありがとうございました –