Ошибка в вашем коде из этого утверждения, как вы сказали
Intent intent = new Intent(context, SendMessage.class);
Это связано с тем, что вы предоставляете контекст анонимного класса OnItemClickListener в конструкторе Intent, но в соответствии с конструктором Intent
android.content.Intent.Intent(Context packageContext, Class<?> cls)
Вы должны предоставить контекст вашей деятельности, в которой вы используете намерение, которое является контекстом класса MainActivity. поэтому ваше заявление, которое дает ошибку, будет преобразовано в
Intent intent = new Intent(MainActivity.this, SendMessage.class);
. Также для отправки вашего сообщения из этого MainActivity в класс SendMessage см. ниже код
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
ListEntry entry= (ListEntry) parent.getAdapter().getItem(position);
Intent intent = new Intent(MainActivity.this, SendMessage.class);
intent.putExtra(EXTRA_MESSAGE, entry.getMessage());
startActivity(intent);
}
});
Пожалуйста, дайте мне знать если это поможет вам
ИЗМЕНИТЬ: - Если вы обнаружите какую-то проблему, чтобы получить значение списка, сделайте одну вещь, которая уменьшит ваш список массивов
ArrayList<ListEntry> members = new ArrayList<ListEntry>();
во всем мире, т.е. до того, как он будет создан и изменит ваш слушателя, как показано ниже
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Intent intent = new Intent(MainActivity.this, SendMessage.class);
intent.putExtra(EXTRA_MESSAGE, members.get(position));
startActivity(intent);
}
});
Таким образом, весь ваш код будет выглядеть как
public class MainActivity extends Activity {
public final static String EXTRA_MESSAGE = "com.example.ListViewTest.MESSAGE";
ArrayList<ListEntry> members = new ArrayList<ListEntry>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
members.add(new ListEntry("BBB","AAA",R.drawable.tab1_hdpi));
members.add(new ListEntry("ccc","ddd",R.drawable.tab2_hdpi));
members.add(new ListEntry("assa","cxv",R.drawable.tab3_hdpi));
members.add(new ListEntry("BcxsadvBB","AcxdxvAA"));
members.add(new ListEntry("BcxvadsBB","AcxzvAA"));
members.add(new ListEntry("BcxvBB","AcxvAA"));
members.add(new ListEntry("BvBB","AcxsvAA"));
members.add(new ListEntry("BcxvBB","AcxsvzAA"));
members.add(new ListEntry("Bcxadv","AcsxvAA"));
members.add(new ListEntry("BcxcxB","AcxsvAA"));
ListView lv = (ListView)findViewById(R.id.listView1);
Log.i("testTag","before start adapter");
StringArrayAdapter ad = new StringArrayAdapter (members,this);
Log.i("testTag","after start adapter");
Log.i("testTag","set adapter");
lv.setAdapter(ad);
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Intent intent = new Intent(MainActivity.this, SendMessage.class);
intent.putExtra(EXTRA_MESSAGE, members.get(position).getMessage());
startActivity(intent);
}
});
}
. Где getMessage () будет методом getter, указанным в вашем классе ListEntry, который вы используете для получения сообщение, которое было установлено ранее.
$filename
не получает никакого значения и в базе данных может иметь значение по умолчанию NULL
.
Вам необходимо удалить / прокомментировать эту строку:
...
$add_data['resume']=$filename; // <-- $filename is not getting any value, uncomment or remove it.
}
else
{
...