Я пытаюсь создать действие для администратора, чтобы одобрить некоторые сообщения (пользователем) для публикации sh, поэтому я использую Listview, где все сообщения будут отмечены / не отмечены. Теперь проблема в том, что в некоторых сообщениях есть большой текст, и этот большой текст не отображается должным образом в строке списка. Я новичок в разработке программного обеспечения. Я искал все решения, одно из них - использовать пользовательский просмотр списка, но я не понимаю.
вот мои файлы:
Approvepost. xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
tools:context=".ApprovePost"
android:layout_marginTop="25dp">
<ListView
android:id="@+id/listView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:divider="@android:color/transparent"
android:dividerHeight="20dp"
android:paddingBottom="10dp"
/>
</RelativeLayout>
Это основной класс ... ApprovePost. java
package com.ahmed.signup;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.CheckedTextView;
import android.widget.ListView;
import androidx.appcompat.app.AppCompatActivity;
public class ApprovePost extends AppCompatActivity {
public static final String TAG = "ListView";
private ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.approvepost);
listView = (ListView)findViewById(R.id.listView);
// CHOICE_MODE_NONE: (Default)
// (listView.setItemChecked(..) doest not work with CHOICE_MODE_NONE).
// CHOICE_MODE_SINGLE:
// CHOICE_MODE_MULTIPLE:
// CHOICE_MODE_MULTIPLE_MODAL:
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Log.i(TAG, "onItemClick: " +position);
CheckedTextView v = (CheckedTextView) view;
boolean currentCheck = v.isChecked();
ApprovePostDto user = (ApprovePostDto) listView.getItemAtPosition(position);
user.setActive(!currentCheck);
}
});
this.initListViewData();
}
private void initListViewData() {
ApprovePostDto user1 = new ApprovePostDto("Ali", "I would like to set up a meeting to give an overview of Foxit and demo the features important to your workflows.");
ApprovePostDto user2 = new ApprovePostDto("Haider", "See the data in your Google Account and choose what activity is saved to personalize your Google experience");
ApprovePostDto user3 = new ApprovePostDto("Usman", "Your account storage is shared across Google services, like Gmail and Photos");
ApprovePostDto[] users = new ApprovePostDto[]{user1,user2, user3};
ArrayAdapter<ApprovePostDto> arrayAdapter
= new ArrayAdapter<ApprovePostDto>(this, android.R.layout.simple_list_item_checked , users);
listView.setAdapter(arrayAdapter);
ProgressDialog progress;
progress = new ProgressDialog(this);
progress.setTitle("Please Wait!!");
progress.setMessage("Wait!!");
progress.setCancelable(true);
progress.setProgressStyle(ProgressDialog.STYLE_SPINNER);
for(int i=0;i< users.length; i++ ) {
listView.setItemChecked(i,users[i].isActive());
progress.show();
}
}
}
```