0

データベース (mysql) から取得した項目が取り込まれたリストビューがあります。すべて正常に機能しており、必要に応じてデータが表示されています。いよいよ最後のステップです。テーブルの項目をクリックすると、その項目の詳細が次のページに読み込まれます。これは私が信じているほど簡単です。データベース テーブルに基づいて要素の ID を取得できれば、次の画面でクエリを実行してデータを簡単にロードできます。

問題は、mysql テーブルにあるアイテムの ID を取得するにはどうすればよいかということです。以下は私のアダプターとリストコードです:

これは、ほとんどの作業を行う adapterview メソッドです。

    @Override
    public View getView(int arg0, View arg1, ViewGroup arg2) {
        // TODO Auto-generated method stub
        if(arg1==null)
            arg1 = layoutInflator.inflate(R.layout.simplerow ,arg2, false);

        TextView name = (TextView)arg1.findViewById(R.id.nameTxtView);
        TextView rate = (TextView)arg1.findViewById(R.id.rateTxtView);
        //name.setText(discountObjectArray[arg0].name + "---> " + discountObjectArray[arg0].location + "---> " +discountObjectArray[arg0].rate);
        String tempName = discountObjectArray[arg0].name;


        tempName = ellipsize(tempName, 6);
        name.setText(tempName);
        rate.setText(discountObjectArray[arg0].rate);
        return arg1;
    }
    public static String ellipsize(String input, int maxLength) {
          if (input == null || input.length() <= maxLength) {
            return input;
          }
          return input.substring(0, maxLength-1) + "...";
        }

}

これは単純なトーストを表示するリスト コードです。

discountListingListView.setOnItemClickListener(新しい OnItemClickListener() {

        @Override
            public void onItemClick(AdapterView<?> parent, View view, int position,
                    long id) {


                RelativeLayout tempParent = (RelativeLayout) view;
                TextView t = (TextView) tempParent.findViewById(R.id.nameTxtView);
                Toast.makeText(getBaseContext(), t.getText(), Toast.LENGTH_LONG).show();

            }
        });

私はAndroidにかなり慣れていないので、サポートに感謝します

4

2 に答える 2

0

ArrayAdapter で ArrayList または List を使用する必要があります。

@Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {
            String Name = discountObjectArray[position].name;                
            Toast.makeText(getBaseContext(), Name, Toast.LENGTH_LONG).show();
        }
    });
于 2013-07-27T15:18:05.783 に答える