だから私は長い間これを探していて、たくさんのことを試しましたが、うまくいかないようです...私は最近Androidのプログラミングを始めました、そして私はのためのチャットアプリケーションを作っていますWebサイト。
これで、アプリケーションにスマイリー/顔文字を追加したいところに到達しました。検索すると、次のWebサイトが見つかりました。http: //blog.stylingandroid.com/archives/177 http://www.coderanch.com / t / 488673 / Android / Mobile /styling-items-ListView
私のコード:
private void updateList()
{
ListView list = this.getListView();
if(!parsedData.isEmpty())
{
ArrayAdapter<String> adapter = new MyAdapter(this, R.layout.list_item, parsedData);
list.setAdapter(adapter);
list.setTextFilterEnabled(true);
}
}
class MyAdapter extends ArrayAdapter<String>
{
ArrayList<String> mStrings;
LayoutInflater mInflater;
public MyAdapter(Context context, int textViewResourceId, ArrayList<String> parsedData)
{
super(context, textViewResourceId, parsedData);
mStrings = parsedData;
mInflater = (LayoutInflater) HopeloosChatActivity.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
if (convertView == null)
{
convertView = mInflater.inflate(R.layout.main, null, false);
}
TextView text = (TextView)convertView.findViewById(R.id.TextView);
SpannableStringBuilder ssb = new SpannableStringBuilder("Test ");
Bitmap emoticon = BitmapFactory.decodeResource( getResources(), R.drawable.icon);
ssb.setSpan(new ImageSpan(emoticon), 5, 6, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
text.setText(ssb, BufferType.SPANNABLE);
return convertView;
}
}
私はsetContentView(R.layout.main);を使用します。OnCreate()メソッドで
私のmain.xmlには、ListViewの部分が含まれています。
<ListView android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1" />
また、list_item.xmlにはTextViewが含まれています。
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/TextView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="16sp"
android:autoLink="web"
android:linksClickable="true" >
</Textview>
コードを実行すると、テキストがnullであるため、Nullpointerが取得され、行き詰まります。誰かが私を正しい方向に向けたり、私を少し助けてくれますか?
前もって感謝します!